home *** CD-ROM | disk | FTP | other *** search
/ Aminet 8 / Aminet 8 (1995)(GTI - Schatztruhe)[!][Oct 1995].iso / Aminet / dev / lang / SGMLS.lha / SGMLS / ChangeLog < prev    next >
Text File  |  1994-07-10  |  70KB  |  2,095 lines

  1. Mon Apr 25 14:08:16 1994  James Clark  (jjc@jclark.com)
  2.  
  3.     * sgmls.c (unescape): Work around Borland C++ 4.0 bug.
  4.  
  5.     * dos.cfg (sys_nerr, sys_errlist): Define for Borland C++ 4.0.
  6.  
  7.     * main.c (main): Rename -C to -m.
  8.     (usage): Mention -m option.
  9.  
  10.     * Makefile (dist): Don't include version number in directory.
  11.  
  12.     * appl.h: Separate declarations of xmalloc and xrealloc in ...
  13.     * alloc.h: New file.
  14.     * catalog.c, main.c, portproc.c, process.c: Include alloc.h.
  15.     * Makefile (HDRS): Add alloc.h.
  16.  
  17.     * sgmls.c: Don't use obsolete GNU C volatile extension.
  18.  
  19. Wed Apr 20 08:24:52 1994  James Clark  (jjc@jclark.com)
  20.  
  21.     * unix.cfg: Declare const as empty if __STDC__ is not defined.
  22.     * tools.h, xfprintf.c, sgmls.c, catalog.c: Don't do it here.
  23.  
  24.     * Add catalog support.
  25.     * catalog.c, catalog.h: New files.
  26.     * entity.h: Include catalog.h.  Add catalog member to struct switches.
  27.     * entgen.c (entgen): Use catalog.
  28.     (catsysidgen, basename, entginit): New functions.
  29.     * tools.h: Declare const as empty if __STDC__ is not defined.
  30.     * sgml1.c (sgmlset): Call entginit.
  31.     (getsubst): New function.
  32.     * sgmlaux.h: Declare entginit, getsubst.
  33.     * main.c (main): Create catalog. Handle -C option.
  34.     (swinit): Initialize catalog.
  35.     (do_catalog_error): New function.
  36.     * unix.cfg (FILE_IS_RELATIVE, DIR_BASE_SEP, CATALOG_FILES_ENV_VAR,
  37.     DEFAULT_CATALOG_FILES): New macros.
  38.  
  39. Fri Mar 25 11:15:00 1994  James Clark  (jjc@jclark.com)
  40.  
  41.     * traceset.c (tracepcd, tracetkn): Use %lu for RCNT argument.
  42.  
  43.     * sgmlxtrn.c (lastetd): Don't declare extern.
  44.  
  45.     * std.h: Always declare strerror, in case systems have it in the
  46.     library but don't declare it.
  47.  
  48. Fri Mar 11 10:35:26 1994  James Clark  (jjc@jclark.com)
  49.  
  50.     * Makefile.vms: Install new version from John Lavagnino.
  51.  
  52. Sat Mar  5 09:35:58 1994  James Clark  (jjc@jclark.com)
  53.  
  54.     * sgmldecl.c (sdcapacity): Check that value of capacity does not
  55.     exceed TOTALCAP.
  56.     * msg.h: New message 235.
  57.  
  58.     * sgmldecl.c (sdcharset): Don't give an error if some characters
  59.     in the range 0 - 256 are not described.
  60.  
  61.     * pars1.c (parsepro): For EOD_, check the DTD if we've had one.
  62.  
  63. Mon Feb 28 09:05:55 1994  James Clark  (jjc@jclark.com)
  64.  
  65.     * md2.c (mdsrmuse): Give error if after document element.
  66.     * pars2.c (parse): For case CRA_, give error if after document
  67.     element.
  68.     * pars1.c (destack): If destacking document element, set docelsw.
  69.     Also give error if current entity not document entity.
  70.     * sgml2.c (entopen): Give error if after document element.
  71.     * sgmlxtrn.c (docelsw): New variable.
  72.     * sgmlxtrn.h: Declare it.
  73.     * msg.h: New message 231, 232, 233, 234.
  74.  
  75.     * msg.h: Change message 191 to show that this is an unsupported
  76.     feature.
  77.  
  78.     * pcbrf.c: Rework handling of separators in pcbpro and pcbsd.
  79.     * md1.c, md2.c: Get rid of reinitialization of pcbmd.newstate to
  80.     0, except at beginning of each declaration.
  81.     * pars2.c (parsemd): Set pcbmd.newstate to 0, if NUM token was
  82.     actually attribute value.
  83.  
  84.     * sgmldecl.c (sdcsdesc): Use sdsaverr.
  85.     (sdsaverr): New function.
  86.     (sgmldecl): Print or free saved errors.
  87.     * sgml2.c (savmderr): New function.
  88.     * msg.h: Make 189 and 190 errors. Change `should' to `must' in
  89.     wording of 190.
  90.  
  91.     * pars1.c (checkdtd): Check that entities in short reference maps
  92.     are declared.
  93.     (shortref): Don't check this here.
  94.     * msg.h: Change message 93 accordingly.
  95.  
  96.     * sgmlxtrn.c (lastetd): New variable.
  97.     * sgmlxtrn.h: Declare it.
  98.     * pars1.c (nstetd): When OMITTAG is NO, use lastetd.
  99.     (destack): Set lastetd.
  100.  
  101.     * pcbrf.c (pcbpro): Recognize end tags.
  102.     * pars1.c (parsepro): Handle ETE_.
  103.     * action.h: Declare ETE_.
  104.  
  105.     * md2.c (parsefpi): Registered or unregistered owner identifier
  106.     starts with +// or -//.  Unavailable text indicator is -//.
  107.     Language cannot be empty.
  108.  
  109.     * pars2.c (parsemod): Check for entity nesting level when parsing
  110.     suffix.
  111.  
  112. Fri Feb  4 17:51:41 1994  James Clark  (jjc@jclark.com)
  113.  
  114.     * lineout.c (output_attribute_token): Don't use print_string.
  115.     (handle_single_token): Use print_string for CDATA attributes.
  116.  
  117. Thu Feb  3 11:22:15 1994  James Clark  (jjc@jclark.com)
  118.  
  119.     * sgmls.c (add_attribute): Don't sort attributes here.
  120.     * rast.c (output_attribute_list, compare_attributes,
  121.     init_sort_code): New functions.
  122.     (output_element_start, output_external_entity_info): Use
  123.     output_attribute_list.
  124.  
  125.     * Make Tstart local to group.
  126.     * etype.h (struct mpos): Add tstart member.
  127.     * context.h (Tstart): New macro.
  128.     * context.c (traceend): When ending group, don't reset Tstart.
  129.     * sgmlxtrn.h (Tstart): Deleted.
  130.     * sgmlxtrn.c (Tstart): Deleted.
  131.     * traceset.c (tracegi, traceend): Remove Tstart argument.
  132.     * trace.h: Change declarations and macros accordingly.
  133.     * context.c: Remove Tstart argument from calls to tracing macros.
  134.  
  135. Fri Jan  7 11:33:40 1994  James Clark  (jjc@jclark.com)
  136.  
  137.     * sgmldecl.c (sdshunchar): Use E_SHUNCHAR rather than E_XNUM.
  138.     * msg.h: Use message 159 for this.
  139.  
  140. Thu Jan  6 20:11:29 1994  James Clark  (jjc@jclark.com)
  141.  
  142.     * sgmldecl.c (sgmlwrsd): Handle case where there are no shunned
  143.     characters.
  144.  
  145. Tue Nov 30 11:35:49 1993  James Clark  (jjc@jclark.com)
  146.  
  147.     * sgml2.c (entopen): Ignore reference to empty CDATA entity.
  148.  
  149. Mon Nov 22 12:12:07 1993  James Clark  (jjc@jclark.com)
  150.  
  151.     * sgmldecl.c (setlexical): Handle lexmin.
  152.     * lextaba.c (lexmin): New lexical table for minimum data.
  153.     * synxtrn.h (lexmin): Declare it.
  154.     (lexcode): Add minlitc.
  155.     * pars2.c (parselit): Use lex.l.minlitc if appropriate.
  156.     * pcbrf.c (pcblitv): Use lexmin.
  157.     * lexrf.c (lextabs): Add lexmin.
  158.     * genlex.c (lextabnames): Add lexmin.
  159.  
  160.     * lextaba.c (iso646charset, iso646C0charset, iso646G0charset,
  161.     iso8859_1charset, iso6429C1charset): New variables.
  162.     * sgmldecl.c (charset_map): Redo.
  163.     * sgmldecl.h: Declare character set arrays.
  164.     * genlex.c (main): Generate charsets.
  165.  
  166.     * entity.h (struct switches): Add swcap member.
  167.     * sgml1.c (sgmlend): Only report capacity errors if swcap is set.
  168.     * main.c (swinit): Initialize swcap to 0.
  169.     (main): Set swcap to 1 if -c option is given.
  170.  
  171. Wed Nov  3 14:03:17 1993  James Clark  (jjc@jclark.com)
  172.  
  173.     * md1.c (etdadl): Don't complain about end-tag minimization of -
  174.     for element with conref attribute.
  175.  
  176.     * pars1.c (checkdtd): Always check short reference maps.
  177.  
  178. Tue Nov  2 13:20:56 1993  James Clark  (jjc@jclark.com)
  179.  
  180.     * pars2.c (tokdata): Don't give special treatment to
  181.     RS/RE/SEPCHAR. Only do tokenization.
  182.  
  183.     * msg.h: Make 152 an error.  Improve message.
  184.     Delete message 159.
  185.     * pars1.c (stack): Don't give an error here for undefined short
  186.     reference map.
  187.  
  188. Mon Nov  1 12:55:51 1993  James Clark  (jjc@jclark.com)
  189.  
  190.     * pars1.c (stack): Don't call exclude.
  191.     (stag): Put back in old exclusion checking, but change error for
  192.     RCHITMEX to 216.
  193.     * msg.h: Delete message 217. Reuse message 216
  194.     * context.c (context): Save position at beginning if there are
  195.     exclusions.  Restore position before returning RCMEX.
  196.     * exclude.c: Deleted.
  197.     * Makefile: Remove exclude.o.
  198.     * Makefile.bcc: Likewise.
  199.  
  200.     * sgmlmsg.c (elttrace): Cast argument to char * to avoid gcc
  201.     warning.
  202.  
  203. Mon Oct 25 13:11:27 1993  James Clark  (jjc@jclark.com)
  204.  
  205.     * pcbrf.c (pcbstag): Make actions for com like nmc.
  206.  
  207. Fri Sep 24 20:27:48 1993  James Clark  (jjc@jclark.com)
  208.  
  209.     * sgmldecl.c (sdfixstandard): Add additional argument that says
  210.     not to give an error.
  211.     (sdversion): Change caller.
  212.     (sdpubcapacity, sdpubsyntax): Change callers so as not to give error.
  213.  
  214. Wed Sep 15 18:08:28 1993  James Clark  (jjc@jclark.com)
  215.  
  216.     * sgml2.c (usedef): If external entity cannot be find, give a
  217.     warning but return a non-NULL ecb.
  218.     (entref): Simplify now that usedef does not return 0.
  219.     * msg.h: Make message 150 a warning.
  220.  
  221. Mon Aug 23 15:08:14 1993  James Clark  (jjc@jclark.com)
  222.  
  223.     * msg.h: Fix typo in message 204.
  224.  
  225. Wed Aug 18 23:32:29 1993  James Clark  (jjc@jclark.com)
  226.  
  227.     * md2.c (mdextid): If FORMAL is NO, parse the public identifier but
  228.     don't give an error if it's not a valid formal public identifier.
  229.  
  230. Sun Jul 11 20:34:04 1993  James Clark  (jjc@jclark.com)
  231.  
  232.     * pars1.c (parsepro): For case DTE_, issue an error if marked
  233.     section open.
  234.     * msg.h: New message number 230.
  235.  
  236. Sat Jul  3 13:35:59 1993  James Clark  (jjc@jclark.com)
  237.  
  238.     * pcbrf.c (et2a): Change action for mso to SR25 and for fce to FCE_.
  239.  
  240. Fri May  7 11:28:52 1993  James Clark  (jjc at jclark.com)
  241.  
  242.     * sgml1.c (sgmltab): In state ST2 change state/action for ref_ to
  243.     NR2, LOP_.
  244.  
  245. Mon Apr 26 19:51:52 1993  James Clark  (jjc at jclark.com)
  246.  
  247.     * msgcat.c (message_compare): Fix syntax_error.
  248.     (print_text): Don't use UNCH.
  249.     (ISASCII): Define.
  250.  
  251. Tue Mar 30 12:13:56 1993  James Clark  (jjc at jclark)
  252.  
  253.     * pcbrf.c (dt01): Change next state for dtgc to SP1.
  254.  
  255.     * pars2.c (parselit): Allow length of literal to grow to parmlen +
  256.     1, until closing delimiter is seen, since final space in minimum
  257.     literal is ignored.
  258.  
  259.     * sgmlxtrn.c (tages): New variable.
  260.     * sgmlxtrn.h (tages): Declare it.
  261.     * pars1.c (parsecon): Initialize tages.
  262.     * sgml2.c (entget): Only increment tagctr if es is equal to tages.
  263.     (filepend): Likewise.
  264.  
  265. Sun Mar 28 16:27:09 1993  James Clark  (jjc at jclark)
  266.  
  267.     * md1.c (mdelem): Allow ( immediately after end tag minimization.
  268.  
  269. Wed Mar  3 20:09:45 1993  James Clark  (jjc at jclark)
  270.  
  271.     * pcbrf.c (da0, da0a, da1, da1a): Change state/action for RNI to
  272.     ET0/DAF_.
  273.  
  274. Mon Mar  1 16:24:36 1993  James Clark  (jjc at jclark)
  275.  
  276.     * traceset.c (traceadl): Trace NOTATION attributes using tracedcn.
  277.  
  278. Mon Feb 22 09:59:16 1993  James Clark  (jjc at jclark)
  279.  
  280.     * Version 1.1 released.
  281.  
  282.     * md1.c (fixdatt): New function.
  283.     (mdnadl): For attlist #notation that occurs after an entity with
  284.     the specified notation has been declared, call fixdatt rather
  285.     that giving an error.
  286.     * sgmlfnsm.h: Declare fixdatt.
  287.     * md2.c (storedatt): Remove call to adlval.
  288.     (mdextid): Precede calls to storedatt with call to adlval.
  289.     * msg.h: Change message 218.
  290.  
  291.     * sgmls.c (read_line): Cast UINT_MAX to unsigned.
  292.  
  293.     * Makefile.bcc: Add optimization flags for Borland C++ 3.1.
  294.  
  295.     * stklen.c: Increase to 14k.
  296.  
  297. Sat Feb  6 19:29:01 1993  James Clark  (jjc at jclark)
  298.  
  299.     * etype.h (EMM): New etdmin flag.
  300.     * md1.c (mdelem): Set EMM flag if minus was explicitly specified
  301.     for end tag minimization.
  302.     (etdadl): Give an error if there's a CONREF element and the EMM
  303.     flag was set, instead of checking OMITTAG and the EMO flag.
  304.     (mdelem): Likewise for declared content of EMPTY.
  305.  
  306. Wed Feb  3 11:08:02 1993  James Clark  (jjc at jclark)
  307.  
  308.     * unix.cfg: Add LIMITS_H_MISSING define.
  309.     * configure: Handle LIMITS_H_MISSING.
  310.     * std.h: Don't include <limits.h> is LIMITS_H_MISSING is defined.
  311.     In this case guess UINT_MAX, based on sizeof(unsigned int).
  312.  
  313. Mon Feb  1 21:49:52 1993  James Clark  (jjc at jclark)
  314.  
  315.     * sgmls.c (read_line): Don't allow buffer length to exceed
  316.     UINT_MAX.
  317.     (E_LINELENGTH): New error.
  318.     * std.h: Include <limits.h>
  319.  
  320. Sun Jan 31 23:58:55 1993  James Clark  (jjc at jclark)
  321.  
  322.     * pars1.c (destack): Don't give error message if conrefsw is set.
  323.  
  324. Sat Jan 30 21:36:36 1993  James Clark  (jjc at jclark)
  325.  
  326.     * lineout.c (process_document): Add argument that says whether
  327.     document is subdocument.  Don't output appinfo if document is
  328.     subdocument.
  329.     * appl.h: Change declaration.
  330.     * main.c (main): Change caller.
  331.  
  332. Fri Jan 15 04:30:17 1993  James Clark  (jjc at jclark)
  333.  
  334.     * Makefile: Add formatted man pages to distribution.  Include
  335.     rules to build them.
  336.  
  337.     * sgmls.c (RECHAR): Delete definition.
  338.  
  339.     * appl.h: Delete comma after last enumerator.
  340.  
  341. Mon Jan 11 09:51:43 1993  James Clark  (jjc at jclark)
  342.  
  343.     * sgmldecl.c (sdnames): Size of temp buffer should be
  344.     REFNAMELEN+1.
  345.  
  346. Sun Jan 10 22:37:20 1993  James Clark  (jjc at jclark)
  347.  
  348.     * rast.c (do_file): Add default case to switch.
  349.  
  350. Fri Jan  8 09:57:07 1993  James Clark  (jjc at jclark)
  351.  
  352.     * synrf.c: Delete NONSGML. Add POSTLINK.
  353.     * synxtrn.h: Corresponding changes.
  354.  
  355. Thu Jan  7 20:00:07 1993  James Clark  (jjc at jclark)
  356.  
  357.     * rast.c (do_file): Free attributes when skipping subdocument.
  358.  
  359.     * sgmls.c (sgmls_free): Free entity.u.external.filenames.
  360.  
  361.     * latin1.c, ebcdic.h (SHIFTNON, UNSHIFTNON): Use simpler
  362.     definitions.
  363.  
  364. Wed Jan  6 17:36:50 1993  James Clark  (jjc at jclark)
  365.  
  366.     * pcbrf.c (et0a): Change action for spcr to DAS_.
  367.  
  368.     * pars2.c (parse): In case ERX_ catch references to entities that
  369.     are not allowed in replaceable character data.
  370.     (parselit): Delete case PIE_. In case DEF_ don't catch references
  371.     to external data entities.
  372.  
  373.     * md1.c (mdelem): Test for length of rank stem and rank suffix was
  374.     off by 2.
  375.  
  376.     * pars2.c (parsemd): For case NUM, use NU not NUM for lexical class.
  377.  
  378.     * md1.c (mdattdef): Uncomment check for ID attribute with default
  379.     value.
  380.  
  381. Sun Jan  3 20:30:34 1993  James Clark  (jjc at jclark)
  382.  
  383.     * sgmldecl.h: Delete declaration of appinfo[].
  384.  
  385.     * sgmldecl.c (sdnames): Return if keyword unrecognized.
  386.  
  387.     * synxtrn.h: Delete KDTD. Renumber K*.
  388.     * synrf.c: Delete "DTD".
  389.  
  390.     * sgmldecl.c: Move definition of REFLITLEN to...
  391.     * entity.h:
  392.     * md2.c (mdextid): Length of minimum literal must not exceed
  393.     REFLITLEN.
  394.  
  395. Sat Jan  2 17:03:11 1993  James Clark  (jjc at jclark)
  396.  
  397.     * pars1.c (checkdtd): Check for undefined short reference maps if
  398.     -u flag is used.
  399.  
  400.     * md2.c (mdsrmdef): Don't free the map on error if it was
  401.     previously used in a USEMAP declaration.
  402.  
  403. Fri Jan  1 19:37:38 1993  James Clark  (jjc at jclark)
  404.  
  405.     * entgen.c (sysidgen): Return 0 if no non-empty filenames were found.
  406.  
  407. Thu Dec 31 02:52:38 1992  James Clark  (jjc at jclark)
  408.  
  409.     * pars2.c (charrefn): Split last part off into...
  410.     (datachar): New function.
  411.     (charrefa): Split part off into...
  412.     (setcurchar): New function.
  413.     (parse): In case NON_, call datachar().
  414.     * sgmlfnsm.h: Declare new functions.
  415.  
  416.     * sgmls.h: Use separate length for pi.
  417.     * sgmls.c (sgmls_next): Handle this.
  418.     * rast.c (output_processing_instruction): Add length argument.
  419.     (do_file): Change caller.
  420.     * sgmlsasp.c (output_pi): Add length argument.
  421.     (do_file): Change caller.
  422.  
  423.     * pars2.c (parse): In case NSC_, give an error.
  424.     * pcbrf.c (pcblitc, pcbmds, pcblitv): Use SYS_ action for NSC.
  425.     (pcbmsi): Get rid of NS4 state.  Handle NSC like NON.
  426.     * pars2.c (charrefn): Only potentially confusing characters need
  427.     to be prefixed with DELNONCH.
  428.     * msg.h: Change message 4 so as not to say `in markup'.
  429.     * pars2.c (parse): When handling SYS_, if non-SGML character was
  430.     DELNONCH skip another character.
  431.  
  432. Wed Dec 30 11:00:15 1992  James Clark  (jjc at jclark)
  433.  
  434.     * lextoke.h: Add SP class for SPACE.  SEP is now just SEPCHAR.
  435.     * pcbrf.c (pcbval): Change accordingly.  Don't allow RS, RE or SEPCHAR
  436.     during tokenization.
  437.     * lextaba.c (lextoke): Change code for space to SP.
  438.     * pars2.c (parseseq): Test that it's not a space in addition to
  439.     testing that its code is not SEP.
  440.     * sgmldecl.c (sdnaming): Check that class is SP or SEP.
  441.  
  442.     * sgmlmsg.c: Define HDREE string.
  443.     (printit): Use HDREE string when the current character is EOS.
  444.  
  445.     * pars2.c (charrefa): Rewrite. If reading from an internal entity,
  446.     need to copy the entity before changing it.
  447.     * source.h (struct source): Add copied member.
  448.     (COPIEDSW): New macro.
  449.     * sgml2.c (entopen): Initialize COPIEDSW.
  450.     (entget): If internal entity was copied, free copy before popping
  451.     SCB stack.
  452.  
  453.     * entity.h (SHIFTNON, UNSHIFTNON): Move definitions to latin1.h
  454.     * ebcdic.h (SHIFTNON, UNSHIFTNON): Provide appropriate
  455.     definitions.
  456.  
  457.     * appl.h: Move DELNONCH, DELCDATA, DELSDATA to latin1.h and ebcdic.h.
  458.     * ebcdic.c: Use these.
  459.     * entity.h (struct switches): Remove delnonch, delcdata and
  460.     delsdata members.
  461.     * main.c (swinit): Don't initialize delnonch.
  462.     * sgmlio.c (ioinit): Don't save swp->delnonch.
  463.     (ioread): Use DELNONCH constant.
  464.     * sgmlmsg.c (swdelcdata, swdelsdata, swdelnonch): Deleted.
  465.     (msginit): Don't initialize these.
  466.     (printit): Use DELNONCH constant.  Can now use switch statement.
  467.     (transparm): Use constants for delimiters.
  468.     * sgmldecl.c (sdinit): Use DEL* constants.
  469.     * sgmldecl.c (sdnaming): Use DELNONCH constant.
  470.     * pars2.c (tokdata): Likewise.
  471.     (parselit): Likewise.
  472.     * sgml1.c (sgmlset): Don't initialize nonchbuf.  Don't change
  473.     lexical codes for sw.delnonch.
  474.     * sgmlxtrn.c (nonchbuf): Initialize first character.
  475.     * lextaba.c (lexcnm, lexcon, lexlms): Make code for DELNONCH be
  476.     NSC.
  477.     * synxtrn.h (struct lexcode): Delete lmnsc member.
  478.     * lexrf.c (lex): Change initialization accordingly.
  479.     * lexcode.h: Move definition of NSC to lextaba.c.
  480.  
  481.     * Get rid of BADCHAR hack by having entity escape magic characters
  482.     with delnonch just as happens in internal entities.
  483.     * sgmldecl.c (sdinit): Don't make BADCHAR a magic character.
  484.     * pars2.c (parse): When handling NON_ don't check if character is
  485.     BADCHAR.  When handling NSC_, give an error if at file level.
  486.     * latin.h, ebcdic.h (BADCHAR): Deleted.
  487.     * ebcdic.c: Don't use BADCHAR.
  488.     * sgmlio.c (ioinit): Don't make BADCHAR bad. Remember
  489.     swp->delnonch in delnonch.
  490.     (iocont): Count a bad character as 2 characters.
  491.     (ioread): Prefix bad character with delnonch.  Make sure there's
  492.     always room for two characters plus end of buffer.
  493.     * source.h (struct source): Add nextchar member.
  494.     (NEXTC): New macro.
  495.     * sgml2.c (scbset): Update NEXTC.
  496.     * sgmlaux.h (struct location): Add nextchar member.
  497.     * sgml1.c (get_location): Update nextchar.
  498.     * sgmlmsg.c (IS_MAGIC): Deleted.
  499.     (printit): Print the real next character if curchar is delnonch.
  500.     * sgmlio.c (isbad): Rename to ismagic.
  501.     * msg.h: Delete message 152.
  502.  
  503.     * appl.h (ADDNONCH): Move to entity.h.
  504.     * entity.h (struct switches): Delete addnonch member.
  505.     (UNSHIFTNON, SHIFTNON): New macro.
  506.     * main.c (swinit): Don't initialize addnonch.
  507.     * lineout.c (print_string): Use UNSHIFTNON.
  508.     * sgmlmsg.c (transparm): Likewise.
  509.     * sgmldecl.c (sdnaming): Likewise.
  510.     * pars2.c (shiftnon): Deleted.
  511.     * sgmlfnsm.h: Delete prototype.
  512.     * pars2.c (parse, charrefn): Use SHIFTNON macro instead of
  513.     shiftnon function.
  514.     * action.h (NSC_): New action.
  515.     * pars2.c (parse): Handle NSC_.
  516.     * pcbrf.c: Undo change of Jun 10, except to pcbmsi.
  517.     For parse modes which use NON_ action, handle NSC class by using
  518.     NSC_ action and transforming state as for NON class.
  519.  
  520. Tue Dec 15 10:31:43 1992  James Clark  (jjc at jclark)
  521.  
  522.     * lineout.c (process_document); Don't define subdoc if suppsw is set.
  523.  
  524.     * Makefile (OBJS3): Add getopt.o.
  525.  
  526.     * sgmlio.c (ioclose): Don't call closefile if fp is 0.
  527.  
  528. Thu Dec  3 09:46:41 1992  James Clark  (jjc at jclark)
  529.  
  530.     * md1.c (mdattdef): Check that normalized length of CDATA default
  531.     value does not exceed LITLEN.
  532.  
  533.     * entity.h (struct switches): Add die member.
  534.     * main.c (die): New function.
  535.     (swinit): Initialize die.
  536.     * sgmlmsg.c (msginit): Initialize die.
  537.     (msgprint): Call die for EXITERR errors.
  538.  
  539.     * main.c (OPTIONS): Rename to options.  Rewrite as an array of
  540.     char so as to avoid duplication.
  541.  
  542. Tue Dec  1 07:19:47 1992  James Clark  (jjc at jclark)
  543.  
  544.     * Makefile.bcc: rast needs getopt.obj.
  545.  
  546. Mon Nov 30 15:52:03 1992  James Clark  (jjc at jclark)
  547.  
  548.     * sgmldecl.c (charset_map, capset_map, sdfeatures): Fully bracket
  549.     initializer.
  550.     * sgml1.c (sgmltab): Likewise.
  551.     * sgmlxtrn.c (dctab, deftab, dvtab, enttab, exttab, extettab,
  552.     funtab, mstab, pubcltab): Likewise.
  553.  
  554. Thu Nov 26 11:44:40 1992  James Clark  (jjc at jclark)
  555.  
  556.     * md2.c (mdentity): Check for duplicate definition and earlier
  557.     usage of default entity after parsing complete definition.
  558.  
  559. Fri Nov 20 05:19:07 1992  James Clark  (jjc at jclark)
  560.  
  561.     * sgmlsasp.c: Delete definitions of RECHAR and RSCHAR.  Use
  562.     definitions from config.h.
  563.  
  564.     * rast.c (output_char): Use definitions of RECHAR, RSCHAR and
  565.     TABCHAR from config.h.
  566.  
  567.     * lexrf.c (lex): Use GENRECHAR rather than '\b' for genre field.
  568.  
  569.     * sgmldecl.h (CANON_NONSGML, CANON_DATACHAR): Move definitions
  570.     into ascii.h and ebcdic.h.
  571.     * genlex.c (main): Characters that aren't special in some way need
  572.     to be treated as NONSGML or DATACHAR depending on whether they are
  573.     the number of a shunned character.
  574.  
  575. Thu Nov 19 06:32:37 1992  James Clark  (jjc at jclark)
  576.  
  577.     * ecbdic.h: Use a better formal public identifier.
  578.  
  579.     * cms.cfg (DEFAULT_PATH, PATH_FILE_SEP, SYSID_FILE_SEP,
  580.     MIN_DAT_SUBS_FROM, MIN_DAT_SUBS_TO): Fix definitions.
  581.  
  582.     * ebcdic.c: Include ebcdic.h and use character definitions that it
  583.     provides.
  584.  
  585. Tue Nov 17 05:46:34 1992  James Clark  (jjc at jclark)
  586.  
  587.     * cms.cfg: New file.
  588.     * ebcdic.h: New file.
  589.     * Makefile.cms: New file.
  590.     * genlex.c: New file.
  591.     * ebcdic.c: New file.
  592.     * Makefile (lextabe.c, genlex): New targets.
  593.     * Makefile: Add new files to distribution.
  594.  
  595.     * lexrf.c: Separate out character set dependent parts into...
  596.     * lextaba.c: New file.
  597.     * lexcode.h: New file. Move definitions needed by lextaba.c and
  598.     lexrf.c here.
  599.     * sgmldecl.c (asciicharset): Move definition into lextaba.c.
  600.     Move definitions of UNKNOWN etc constants into sgmldecl.h.
  601.     * sgmldecl.h: Declare asciicharset.
  602.  
  603.     * entity.h: Separate character set dependent parts into...
  604.     * latin1.h: New file.
  605.     * *.cfg: Include latin1.h.
  606.  
  607.     * lexrf.c (lex): Rewrite short reference delimiter strings that use
  608.     RS, RE or TAB so as to use RSCHAR, RECHAR and TABCHAR definitions.
  609.  
  610.     * lexrf.c (lextran): Don't use character constants.
  611.  
  612.     * lexrf.c (lextran): Fix entry for character number 172.
  613.  
  614. Mon Nov 16 12:39:41 1992  James Clark  (jjc at jclark)
  615.  
  616.     * arc*.c: Rename to *.c.
  617.     * mod*.c: Rename to *.c.
  618.     * Makefile, Makefile.vms, Makefile.bcc: Corresponding changes.
  619.  
  620.     * msg.h: Make message 58 a warning.  Rewrite message.
  621.  
  622. Sun Nov 15 11:41:04 1992  James Clark  (jjc at jclark)
  623.  
  624.     * main.c (munge_program_name): Use isupper() and tolower().
  625.  
  626.     * main.c (main): Don't allow -a option.
  627.  
  628. Sat Nov 14 10:34:47 1992  James Clark  (jjc at jclark)
  629.  
  630.     * lineout.c (attribute_type_string): Don't distinguish ID and
  631.     IDREF attributes from tokenized attributes.
  632.     * sgmls.h (sgmls_attribute_type): Delete SGMLS_ATTR_ID and
  633.     SGMLS_ATTR_IDREF.
  634.     * sgmls.c (parse_attribute, sgmls_free_attribute): Don't handle ID
  635.     and IDREF attribute types.
  636.     * sgmlsasp.c (output_attribute): Don't handle SGMLS_ATTR_ID and
  637.     SGMLS_ATTR_IDREF.
  638.     * rast.c (output_attribute): Likewise.
  639.  
  640.     * main.c (store_sgmldecl): Handle possibility that SIGTERM is not
  641.     defined.
  642.  
  643. Thu Nov  5 11:01:35 1992  James Clark  (jjc at jclark)
  644.  
  645.     * msg.h: In message 3, change `NAMELEN' to  `NAMELEN or LITLEN'.
  646.  
  647.     * modmd1.c (mdattdef): Handle CDR action when parsing default
  648.     value.
  649.  
  650. Thu Oct 29 17:19:13 1992  James Clark  (jjc at jclark)
  651.  
  652.     * lineout.c (output_conforming): Only generate output if !suppsw.
  653.  
  654. Wed Oct 28 10:29:28 1992  James Clark  (jjc at jclark)
  655.  
  656.     * rast.c (main): Add -o option to specify output file.  Avoid use of
  657.     temporary file when -o specified.
  658.     (usage): New function.
  659.  
  660. Sun Oct 25 10:30:18 1992  James Clark  (jjc at jclark)
  661.  
  662.     * modmd1.c (adlfree): New function.
  663.     (mdadl, mdnadl, mdattdef): Fix some leaks.
  664.     * sgmlfnsm.h: Declare adlfree.
  665.  
  666.     * main.c (OPTIONS): Correct definitions that apply when
  667.     CANT_REDIRECT_STDERR is defined.
  668.  
  669.     * Makefile (dist): Fix up the compilation options in
  670.     the Makefile.
  671.  
  672. Sat Oct 24 14:02:35 1992  James Clark  (jjc at jclark)
  673.  
  674.     * entity.h: Define STDINNAME.
  675.     * main.c (main): Don't require an argument.
  676.     (make_docent): Treat no arguments as equivalent to `-'.
  677.     * entgen.c (entgen): Don't search for `-'.
  678.     * modsgml2.c (filepend): Pass buffer as argument to
  679.     iopend().
  680.     * sgmlaux.h (iopend): Fix declaration.
  681.     * sgmlio.c (openfile, closefile, isreg): New functions.
  682.     (ioopen): Use openfile. Initialize pendbuf.
  683.     (ioclose): Use closefile.
  684.     (iopend, iocont): Handle unseekable files.
  685.     (ioread): Return the contents of pendbuf if pendbuf is
  686.     non-NULL.  Handle the case where fgetpos fails.
  687.     Use openfile and closefile.
  688.     * unix.cfg, dos.cfg: Add HAVE_SYS_STAT_H configuration option.
  689.     * configure: Handle HAVE_SYS_STAT_H.
  690.  
  691. Fri Oct 23 11:38:06 1992  James Clark  (jjc at jclark)
  692.  
  693.     * Makefile.bcc: Handle rast.
  694.  
  695.     * Makefile (install): Rewrite.
  696.  
  697.     * sgmls/sgmls.c (unescape1, parse_data): Cast value of escape
  698.     sequence.
  699.  
  700.     * lineout.h (CONFORMING_CODE): New output command.
  701.     * lineout.c (output_conforming): New function.
  702.     * appl.h: Declare it.
  703.     * main.c (main): Call output_conforming() if appropriate.
  704.     * sgmls.h: New event SGMLS_EVENT_CONFORMING.
  705.     * sgmls.c (sgmls_next): Handle CONFORMING_CODE.
  706.     * sgmlsasp.c (do_file): Handle SGMLS_EVENT_CONFORMING.
  707.  
  708.     * CHANGES: Rename to
  709.     * NEWS.
  710.     * Makefile: Change definition of MISC accordingly.
  711.  
  712.     * rast.c: New file.
  713.     * rast.man: New file.
  714.     * Makefile: Handle rast.
  715.     (install.man): Rewrite.
  716.  
  717.     * main.c (print_caps): Deleted.
  718.     (make_argv): Use -c rather than -z.  Always pass -c to
  719.     subprocesses.
  720.     (main): Delete -c option. Rename -z to -c.
  721.     (OPTIONS, usage): Change accordingly.
  722.     (capsw): Deleted.
  723.  
  724. Wed Oct 21 20:13:02 1992  James Clark  (jjc at jclark)
  725.  
  726.     * modpars2.c (attval): Decrement already tokenized value before
  727.     comparing it to a FIXED value.
  728.  
  729. Tue Oct 20 16:45:34 1992  James Clark  (jjc at jclark)
  730.  
  731.     * modsgml2.c (filepend): Don't suspend the file if it's already
  732.     suspended.
  733.  
  734. Sun Oct 18 15:24:13 1992  James Clark  (jjc at jclark)
  735.  
  736.     * sgmls.pl: Handle f, p, s commands.  Fix handling of S, E, and N
  737.     commands.
  738.     (esc, esc_data): Don't handle \s. Ignore \012.
  739.  
  740. Sat Oct 17 12:48:56 1992  James Clark  (jjc at jclark)
  741.  
  742.     * sgmls.c (parse_data): Translate \n into '\015'.
  743.     (unescape_file): New function.
  744.     (sgmls_next, parse_location): Use unescape_file.
  745.     * sgmlsasp.c (output_data_char): New function.
  746.     (output_data, output_pi): Use output_data_char.
  747.  
  748.     * sgmls.c (parse_data): Don't support \s.
  749.     (unescape1): Likewise.
  750.  
  751.     * lineout.c (print_string): Don't strip RSs.
  752.  
  753.     * sgmls.c (add_attribute): New function.
  754.     (sgmls_next): Use add_attribute.
  755.  
  756.     * lineout.c (process_subdoc): Handle the possibility that `id' is
  757.     0.
  758.     * appl.h (E_SUBDOC): Declare it.
  759.     * main.c (errlist): Add error message for E_SUBDOC.
  760.     * modsgml2.c (entopen): Handle the possibility that etx.x is 0 for
  761.     external entities.
  762.     * modmd1.c (mddtds): If entgen fails, behave as if there was no
  763.     external DTD.
  764.     * modmd2.c (mdentity): Don't give up if entgen fails.
  765.     * msg.h: New message 149, 229.  Make errors 147 and 148 warnings.
  766.  
  767.     * entgen.c (field): Fix typo in handling of field 'D' for subdocs.
  768.  
  769. Fri Oct 16 09:55:40 1992  James Clark  (jjc at jclark)
  770.  
  771.     * sgmls.h (struct sgmls_event): Delete `subdoc' from union.
  772.     (struct sgmls_external_entity): Add pubid and sysid members.
  773.     * sgmls.c (parse_filenames): Deleted.
  774.     (parse_external_entity, parse_subdoc_entity): Don't call
  775.     parse_filenames.
  776.     (parse_notation): Don't parse pubid and sysid.
  777.     (define_external_entity): Fill in pubid, sysid and filenames
  778.     fields from stored values in sp.
  779.     (define_notation): Fill in pubid and sysid fields from stored
  780.     values in sp.
  781.     (sgmls_next): Handle SYSID_CODE, PUBID_CODE and FILE_CODE.
  782.     For {START,END}_SUBDOC_CODE look up the subdoc entity.
  783.     (sgmls_free): Free the pubid, sysid and files members of sp.
  784.     Free the pubid and sysid fields of external entities.
  785.     (struct sgmls): Add files, nfiles, sysid and pubid members.
  786.     (sgmls_create): Initialize them.
  787.  
  788. Thu Oct 15 10:53:33 1992  James Clark  (jjc at jclark)
  789.  
  790.     * adl.h (struct ne): Add nepubid and nesysid members.
  791.     (NEPUBID, NESYSID): New macros.
  792.     (NEDCNPUBID, NEDCNSYSID, NEDCNDEFINED): New macros.
  793.     * msg.h: Deleted message 149.
  794.     * entity.h (struct dcncb): Delete dcnid member.  Add sysid and
  795.     pubid members.
  796.     * modmd2.c (mdentity): Fill in nepubid and nesysid.
  797.     (mdnot): Don't call entgen. Fill in sysid, pubid and defined
  798.     members of dcb.
  799.     * entgen.c (nentgen): Deleted.
  800.     (entgen): Don't call nentgen.
  801.     (field): When checking for Y substitution storage class must be <=
  802.     * lineout.h (PUBID_CODE, SYSID_CODE, FILE_CODE): New codes.
  803.     * lineout.c (process_document): Output a definition for a
  804.     subdocument entity before processing it.
  805.     (print_id): Rewrite.
  806.     (output_external_entity, output_subdoc): Add two additional
  807.     arguments.  Change printing of external identifiers.
  808.     (output_notation): Delete `id' argument. Add two additional
  809.     arguments.  Change printing of external identifiers.
  810.     (define_external_entity, handle_single_token): Change callers.
  811.     (print_filename): Don't use \s.
  812.     * modpars2.c (aenttst): Use NEDCNDEFINED rather than NEDCNID.
  813.     * modsgml2.c (entopen): Likewise.
  814.     * modpars1.c (checkdtd): Use `defined' member of dcncb in place of
  815.     `dcnid'.
  816.     * traceset.c (tracedcn): Don't use `dcnid' member.
  817.  
  818.     * modsgml1.c (sgmlend): Merge loops. Divide maxsubcap values by
  819.     cappoints values.
  820.     * main.c (write_caps): Use RACT format.
  821.     (get_subcaps): Read new format.
  822.  
  823. Wed Oct 14 09:54:19 1992  James Clark  (jjc at jclark)
  824.  
  825.     * modmd2.c (mdentity): Free pne after errors 147 or 148.
  826.  
  827.     * modmd2.c (mdnot): Free ntx on error.
  828.  
  829. Mon Sep 28 13:05:35 1992  James Clark  (jjc at jclark)
  830.  
  831.     * Version 1.0 released.
  832.  
  833. Fri Sep 25 11:17:34 1992  James Clark  (jjc at jclark)
  834.  
  835.     * Makefile.vms: New file.
  836.  
  837.     * modpars1.c (parsepro): Set rc for STE_ case.
  838.  
  839.     * modmd2.c (mdentity): For the default entity copy the system and
  840.     public identifiers.
  841.  
  842.     * modmd2.c (mdentity): Free pne if estore != ESN.
  843.  
  844. Thu Sep 24 13:39:01 1992  James Clark  (jjc at jclark)
  845.  
  846.     * source.h (struct entity): Add dflt member.
  847.     * modsgml2.c (usedef): Set ecb->dflt.
  848.     * modmd2.c (mdentity): Check whether earlier existing definition
  849.     of entity was defaulted. If so, give a warning and remove this
  850.     definition.
  851.     * msg.h: New message 228.
  852.  
  853. Wed Sep 23 12:14:44 1992  James Clark  (jjc at jclark)
  854.  
  855.     * modpars2.c (attval): Don't pass attribute value as argument to
  856.     error 67.
  857.     * msg.h: Don't use attribute value in error message.
  858.  
  859. Fri Sep 11 15:32:30 1992  James Clark  (jjc at jclark)
  860.  
  861.     * sgmlio.c (ioread): Set f->fp to 0 after closing it if there is
  862.     no next file.
  863.     (iopend): Don't call fclose if f->fp is 0.
  864.  
  865. Mon Aug 31 11:06:57 1992  James Clark  (jjc at jclark)
  866.  
  867.     * Makefile (config.h): Don't use `export'.
  868.  
  869. Fri Aug 21 15:12:48 1992  James Clark  (jjc at jclark)
  870.  
  871.     * modsgml2.c (entopen): For ESX and ESC return ENTDATA even if
  872.     entity is empty.
  873.     * lineout.c (print_data): If n == 0, don't ignore it if it's sdata.
  874.  
  875. Tue Aug 18 11:30:38 1992  James Clark  (jjc at jclark)
  876.  
  877.     * modsgml2.c (entref): Use error 35 if it's a parameter entity.
  878.  
  879. Mon Aug 17 12:53:48 1992  James Clark  (jjc at jclark)
  880.  
  881.     * source.h (union etext): Delete etd member.
  882.  
  883.     * Makefile: Include sgml-mode.el.
  884.  
  885. Thu Aug 13 15:04:47 1992  James Clark  (jjc at jclark)
  886.  
  887.     * sgmldecl.c (sdcsdesc): Give a warning for an unknown designating
  888.     escape sequence.
  889.     (sgmlwrsd): Use the system character set as the document character
  890.     set.
  891.     (DUMMY_CHARSET): Deleted.
  892.     * msg.h: New message 227.
  893.  
  894.     * test: Put out and err files in separate directories.
  895.  
  896.     * main.c (main): Ignore -a.
  897.     (usage): Don't mention -a.
  898.     (swinit): Set swambig to 1.
  899.     (build_subargv): Don't pass -a.
  900.  
  901. Wed Aug 12 22:02:24 1992  James Clark  (jjc at jclark)
  902.  
  903.     * action.h (STE_): New action.
  904.     * arcpcbrf.c (es7a): Change action for nms and tagc from PEP_ to STE_.
  905.     * modpars1.c (parsepro): Handle STE_.
  906.     * modsgml1.c (sgmlnext): Start the document element for DCE_ or MSS_.
  907.  
  908. Thu Aug  6 16:42:37 1992  James Clark  (jjc at jclark)
  909.  
  910.     * modpars2.c (parseval): If a number token is terminated by a name
  911.     character, give error 17.
  912.  
  913. Wed Jul 29 01:49:20 1992  James Clark  (jjc at jclark)
  914.  
  915.     * modpars1.c (startdtd): Allocate an extra character for nmbuf.
  916.     * modmd2.c (mdentity): Check that length of parameter entity name
  917.     does not exceed NAMELEN - 1.  Pass NAMELEN to parsemd when
  918.     parsing parameter entity name.
  919.  
  920.     * msg.h: New message 225.
  921.     * modserv.c (sandwich): Move to...
  922.     * modmd2.c (sandwich): Return 0 if the result is too long.
  923.     * modmd2.c (mdentity): Give an error if the result was too long
  924.     after adding bracketing delimiters.
  925.  
  926.     * msg.h: New message 224.
  927.     * modmd1.c (mdattdef): It is an error if the value returned by
  928.     vallen exceeds LITLEN.
  929.     * modpars2.c (attval): Likewise.
  930.  
  931.     * sgmls.c (unescape1): If s does not contain a backslash, return
  932.     the length of s.
  933.  
  934. Tue Jul 28 18:35:54 1992  James Clark  (jjc at jclark)
  935.  
  936.     * action.h (PENR): New action.
  937.     * modpars2.c (parsemd): Handle PENR.
  938.     * arcpcbrf.c (pr21a): Change actions for ee, com, pero from PCI_
  939.     to PENR.
  940.     (sp21, tk21): After ee, state is TK1.
  941.  
  942.     * modpars2.c (parsegrp, parsengrp): Detect duplicates.
  943.  
  944.     * modpars1.c (parsepro): Handle EE_.
  945.  
  946. Thu Jul 23 12:50:34 1992  James Clark  (jjc at jclark)
  947.  
  948.     * modmd1.c (mdattdef): If anmtgrp returns an error and adlim <
  949.     GRPCNT, report that ATTCNT not GRPCNT was exceeded.
  950.  
  951. Mon Jun 29 00:46:09 1992  James Clark  (jjc at jclark)
  952.  
  953.     * sgmldecl.c (systemcharset): New charset.
  954.     (charset_map): By default assume the system character set is ISO
  955.     Latin-1.
  956.     (nlextoke, nlextran): New variables.
  957.     (setnonsgml): Rename to...
  958.     (setlexical): Handle characters made significant by NAMING
  959.     section.  Use nlextoke and nlextran to munge lexical tables.
  960.     (sgmldecl): Call setlexical.
  961.     (sdpubsyntax): Delete call to setnonsgml().
  962.     (sdshunchar): Delete calls to setnonsgml().
  963.     (sdnaming): Redo parsing of naming classes.
  964.     (sgmlwrsd): Generate NAMING section from lextoke and lextran.
  965.     Use system character set as syntax reference character set.
  966.  
  967.     * msg.h: Remove trailing period from message 218.
  968.  
  969. Sun Jun 28 15:59:25 1992  James Clark  (jjc at jclark)
  970.  
  971.     * modpars2.c (tokdata): Insert missing parentheses around
  972.     `parmlen -= 2'.
  973.  
  974. Sat Jun 20 10:09:39 1992  James Clark  (jjc at jclark)
  975.  
  976.     * Makefile (depend): Use sed { command.
  977.  
  978.     * Makefile: Pass PREFIX to configure.
  979.     * configure: Edit DEFAULT_PATH using PREFIX.
  980.  
  981. Mon Jun 15 19:41:55 1992  James Clark  (jjc at jclark)
  982.  
  983.     * configure: More elaborate test for HAVE_EXTENDED_PRINTF.
  984.  
  985. Fri Jun 12 13:20:49 1992  James Clark  (jjc at jclark)
  986.  
  987.     * context.c (testend): Set andoptsw to 1 after ending a group.
  988.  
  989. Wed Jun 10 16:49:50 1992  James Clark  (jjc at jclark)
  990.  
  991.     * arcpcbrf.c (pcbconm): New state NS0.
  992.     (et0, da0, da1): After NSC state changes to NS0.
  993.     (pcbmsrc): New state NS0.
  994.     (et30, da30): After NSC state changes to NS0.
  995.     (pcbmsc): New state NS2.
  996.     (et32, da32): After NSC state changes to NS2.
  997.     (pcbmsi): New state NS4.
  998.     (et34, me34, me35, es34, md34): After NSC state changes to NS4.
  999.  
  1000.     * lineout.c (print_string): Don't recognize character preceded by
  1001.     DELNONCH as DELCDATA or DELSDATA.
  1002.  
  1003. Tue Jun  9 21:17:15 1992  James Clark  (jjc at jclark)
  1004.  
  1005.     * modpars1.c (parsepro): Call setdtype() when EOD_ encountered.
  1006.     Don't call setdtype() or checkdtd() if we gave an error message
  1007.     for the EOD_.
  1008.  
  1009. Sun Jun  7 09:57:32 1992  James Clark  (jjc at jclark)
  1010.  
  1011.     * configure: When determining void_ret, use a typedef in order to
  1012.     catch compilers that can't handle this typedef.
  1013.  
  1014.     * replace.c (hash): Cast enumeration type to int.
  1015.     * sgmls.c (error): Likewise.
  1016.     * sgmldecl.h: Use #define rather than enum to define *CAP and Q*
  1017.     constants.
  1018.     * sgmlmsg.c: Likewise for HDR*.
  1019.  
  1020. Fri May 22 13:31:58 1992  James Clark  (jjc at jclark)
  1021.  
  1022.     * sgmldecl.c (bufsalloc, bufsrealloc): Allocate entbuf here.
  1023.     * modpars1.c (commbufs): Don't allocate entbuf here.
  1024.  
  1025. Wed May 20 11:55:42 1992  James Clark  (jjc at jclark)
  1026.  
  1027.     * Makefile (config.h): Depends on configure and unix.cfg.
  1028.  
  1029.     * configure: Pipe yes into man.
  1030.  
  1031.     * arclexrf.c: Don't include stdio.h.  Use 0 instead of NULL.
  1032.  
  1033.     * unixproc.c: Include standard header files before std.h.
  1034.  
  1035.     * std.h: Reorder definitions so that all standard headers are
  1036.     included before conditional definitions of SEEK_SET etc.
  1037.  
  1038. Mon May 18 15:38:35 1992  James Clark  (jjc at jclark)
  1039.  
  1040.     * modpars2.c (charrefn): Return DAF_ instead of DAS_.
  1041.  
  1042. Mon May 18 08:37:23 1992  James Clark  (jjc at jclark)
  1043.  
  1044.     * configure: Catch signals when testing for extended printf.
  1045.  
  1046. Sun May 17 09:49:14 1992  James Clark  (jjc at jclark)
  1047.  
  1048.     * modmd1.c (mdadl, mdelem): Don't dereference nmgrp[0] if it is NULL.
  1049.  
  1050.     * replace.c (parse_error): Declare as NO_RETURN.
  1051.  
  1052.     * context.c (copypos): Cast unsigned char to int in comparison.
  1053.     * modmd1.c (mdelem): Likewise.
  1054.     * modmd2.c (storedatt): Likewise.
  1055.     * modpars2.c (parsenm): Likewise.
  1056.     (s2valnm): Likewise.
  1057.     * sgmlxtrn.[ch]: Make Tstart an int.
  1058.     * context.c: Don't cast Tstart to int.
  1059.     * modpars2.c (shiftnon): Cast unsigned char to unsigned in modulus
  1060.     expression.
  1061.     * context.c (HITSET, HITOFF): Cast `n' to unsigned in shift
  1062.     expression.
  1063.  
  1064.     * arclexrf.c: Avoid use within comments of character sequences
  1065.     that will be interpreted as trigraphs.
  1066.  
  1067.     * std.h: Don't include getopt.h.
  1068.     * configure: Don't handle HAVE_GETOPT_H.
  1069.     * *.cfg: Delete HAVE_GETOPT_H.
  1070.     * getopt.c, main.c, sgmlsasp.c: Include getopt.h.
  1071.     * getopt.h: Don't use prototypes.
  1072.  
  1073.     * msgcat.h: Don't use prototypes.
  1074.  
  1075. Sat May 16 12:15:43 1992  James Clark  (jjc at jclark)
  1076.  
  1077.     * entgen.c (nentgen): Treat empty system/public identifiers as
  1078.     missing.
  1079.  
  1080. Fri May 15 23:51:10 1992  James Clark  (jjc at jclark)
  1081.  
  1082.     * std.h: Declare errno in case <errno.h> doesn't.
  1083.  
  1084. Tue May 12 18:58:54 1992  James Clark  (jjc at jclark)
  1085.  
  1086.     * *.cfg (HAVE_GETOPT_H): New define.
  1087.     * configure: Handle HAVE_GETOPT_H.
  1088.     * std.h: Include getopt.h.
  1089.     * getopt.c, main.c, sgmlsasp.c: Don't include getopt.h.
  1090.  
  1091.     * configure: Fixes for Ultrix.
  1092.  
  1093.     * entgen.c (entgen): Cast f->fpisysis to char * in argument to
  1094.     strchr.
  1095.  
  1096.     * sgmlsasp.c (error): Define as NO_RETURN.
  1097.  
  1098. Mon May 11 08:54:06 1992  James Clark  (jjc at jclark)
  1099.  
  1100.     * Version 0.8 released.
  1101.  
  1102.     * Makefile.bcc (OBJS1): Add exclude.obj.
  1103.  
  1104. Sat May  9 10:26:16 1992  James Clark  (jjc at jclark)
  1105.  
  1106.     * dos.cfg: Add CANT_REDIRECT_STDERR.
  1107.     * main.c: Add -f option if CANT_REDIRECT_STDERR is defined.
  1108.  
  1109.     * adl.h (NEDCNADL): Change dcnadl to adl.
  1110.  
  1111.     * entity.h (struct dcncb): Add entsw member.
  1112.     * modmd1.c (mdnadl): Check that an entity with this notation has
  1113.     not already been declared.
  1114.     * modmd2.c (mdextid): Set the entsw field of the notation.
  1115.     * msg.h: New message 218.
  1116.  
  1117.     * msg.h: Improve message 192.
  1118.  
  1119.     * msg.h: Improve message 78.
  1120.  
  1121.     * modpars1.c (checkdtd): Check for undefined notations even if
  1122.     sw.undef not specified.
  1123.     * msg.h: Change type of 192 to 'W'.
  1124.  
  1125.     * modmd2.c (mdextid): Separate copying of attribute list into
  1126.     storedatt.  Call this also if there was no data attribute
  1127.     specification list but this notation does have an attribute list.
  1128.     (storedatt): New function.  Don't increase ds.attgcnt.
  1129.     * modpars2.c (parseatt): Separate initialization of ad into
  1130.     initatt.  No need to copy al: this is done in storedatt.
  1131.     (initatt): New function.
  1132.     * sgmlfnsm.h: Declare storedatt and initatt.
  1133.  
  1134. Fri May  8 13:00:56 1992  James Clark  (jjc at jclark)
  1135.  
  1136.     * sgmldecl.c: Use ISO 8879:1986 instead of ISO 8879-1986.
  1137.     Also recognize the latter but give an error message.
  1138.     (sdfixcolon): Rename to sdfixstandard.
  1139.     * msg.h: Change message 163 accordingly.
  1140.  
  1141.     * modpars2.c (adlval): Don't dereference newetd if it's NULL.
  1142.  
  1143.     * entgen.c (entgen): Initialize sysidsrch.  Don't always call
  1144.     sysidgen() if there's a system identifier.
  1145.     (field): Use %E for escape sequence. %S gives system identifier.
  1146.  
  1147. Wed May  6 21:40:25 1992  James Clark  (jjc at jclark)
  1148.  
  1149.     * sgmldecl.c (sdtranschar): Cast arguments to ltous to long.
  1150.  
  1151.     * msgcat.c: Conditionalize use of prototypes on USE_PROTOTYPES not
  1152.     __STDC__.
  1153.  
  1154. Tue May  5 00:24:39 1992  James Clark  (jjc at jclark)
  1155.  
  1156.     * lineout.c (process_subdoc): Only call get_subcaps() if
  1157.     subprocess exited successfully.
  1158.  
  1159.     * msg.h: New message 217.
  1160.     * exclude.c (excktok): Use message 217 instead of 41. Second
  1161.     parameter is current gi not gi that does excluding.
  1162.  
  1163.     * modpars1.c (iopend): Save offset into line.  Don't seek to
  1164.     middle of line.
  1165.     (iocont): Seek to beginning of line, then skip to middle of line
  1166.     using saved offset.
  1167.     (struct iofcb): Delete penderr and sverrno.  New pendoff member.
  1168.  
  1169.     * modpars1.c (parsecon): An RE that would be ignored can force a
  1170.     start tag.
  1171.  
  1172. Mon May  4 23:26:21 1992  James Clark  (jjc at jclark)
  1173.  
  1174.     * unix.cfg (FPOS_MISSING): New define.
  1175.     * configure: Handle FPOS_MISSING.
  1176.     * std.h: Provide fpos_t, fgetpos, fsetpos if FPOS_MISSING.
  1177.     * sgmlio.c (iopend, iocont, ioread): Use fsetpos/fgetpos rather
  1178.     than fseek/ftell. Use penderr to indicate that iopend() failed.
  1179.     (struct iofcb): Make off an fpos_t. Add penderr member.
  1180.  
  1181. Sun May  3 09:41:05 1992  James Clark  (jjc at jclark)
  1182.  
  1183.     * sgmlmsg.c (printit): Don't rely on return value of fprintf.
  1184.  
  1185. Wed Apr 29 00:03:42 1992  James Clark  (jjc at jclark)
  1186.  
  1187.     * modpars1.c (destack): Undo Apr 26 change.
  1188.     * exclude.c: New file.
  1189.     * msg.h: New message 216.
  1190.     * Makefile: Add exclude.c.
  1191.     * modpars1.c (stack): Call exclude().
  1192.     * sgmlfnsm.h: Declare exclude().
  1193.     * modpars1.c (stag): Don't give errors here for invalid exclusions.
  1194.  
  1195.     * ambig.c (listambig): Clear marks afterwards.
  1196.  
  1197.     * synxtrn.h: Don't use an enum for the key indices.
  1198.  
  1199. Tue Apr 28 09:22:43 1992  James Clark  (jjc at jclark)
  1200.  
  1201.     * vms.cfg: New file.
  1202.     * Makefile (MISC): Include vms.cfg.
  1203.  
  1204.     * portproc.c (run_process): Free the right thing.
  1205.  
  1206.     * Makefile (OBJS2): Add getopt.o.
  1207.  
  1208.     * modsgml1.c (sgmltab): Undo change of April 13. When pending RE
  1209.     is followed by another RE that is ignored, output the first RE
  1210.     immediately.
  1211.  
  1212. Sun Apr 26 11:36:49 1992  James Clark  (jjc at jclark)
  1213.  
  1214.     * modpars1.c (destack): When element ends without required element,
  1215.     check whether required element has been excluded.
  1216.  
  1217. Tue Apr 21 12:39:42 1992  James Clark  (jjc at jclark)
  1218.  
  1219.     * entity.h (struct switches): Add swundef member.
  1220.     * main.c (swinit): Initialize swundef.
  1221.     (OPTIONS): Add u.
  1222.     (main): Support -u.
  1223.     (usage): Mention -u.
  1224.     * modpars1.c (checkdtd): New function.
  1225.     (parsepro): Call checkdtd.
  1226.     * msg.h: New messages 142 and 190.
  1227.  
  1228. Mon Apr 20 15:09:40 1992  James Clark  (jjc at jclark)
  1229.  
  1230.     * modmd1.c (mdadl): Only call etdadl if the element has already
  1231.     been defined.
  1232.     (etdadl): No need to check that p->etdmod is non-NULL.
  1233.  
  1234. Thu Apr 16 12:56:15 1992  James Clark  (jjc at jclark)
  1235.  
  1236.     * main.c (main): Implement -i.
  1237.     (swinit): Initialize includes.
  1238.     * entity.h (struct switches): New includes member.
  1239.     * modpars1.c (pentname, doincludes): New functions.
  1240.     (startdtd): Call doincludes.
  1241.     (endprolog): Call doincludes if there was no DTD.
  1242.     * msg.h: New message 138.
  1243.  
  1244. Wed Apr 15 15:58:53 1992  James Clark  (jjc at jclark)
  1245.  
  1246.     * traceset.c (tracemap): Deleted.
  1247.     * trace.h (TRACEMAP): Deleted.
  1248.     * modserv.c (mapsrch): Don't use TRACEMAP.
  1249.     * modsgml2.c (ptrsrch): Likewise.
  1250.  
  1251.     * trace.h, traceset.c *.cfg: Include tracing is TRACE is defined,
  1252.     rather than if FINAL is not defined.
  1253.     * entity.h: Include trace and ptrace in struct switched only if
  1254.     TRACE is defined.
  1255.     * main.c (main, swinit, build_subargv): Support -x and -y only if
  1256.     TRACE is defined.
  1257.     (xrealloc): New function.
  1258.     * appl.h: Declare xrealloc.
  1259.  
  1260.     * traceset.c (tracemod): Calculate size of pg correctly.
  1261.  
  1262. Tue Apr 14 13:47:21 1992  James Clark  (jjc at jclark)
  1263.  
  1264.     * action.h: Get rid ETGP_. Renumber accordingly.
  1265.     * modsgml1.c (sgmltab): Get rid of column for ETGP_.
  1266.  
  1267.     * modpars2.c (parseseq): Rewrite.
  1268.  
  1269.     * modpars2.c (s2valnm): Cosmetic changes.
  1270.  
  1271.     * modpars2.c (parsetkn): Rewrite.  Don't store length ahead of
  1272.     name.
  1273.     (parseatt): Don't call dellen.
  1274.     (mdattdef): Likewise.
  1275.     (charrefn): Number doesn't have length byte.
  1276.     * modmd1.c (mdelem): ranksuff doesn't have length byte.
  1277.     * modserv.c (dellen): Deleted.
  1278.     * sgmlfnsm.h (dellen): Delete declaration.
  1279.     * sgmldecl.c: Numbers no longer have length bytes.
  1280.  
  1281.     * modpars2.c (parse): Use NAMELEN rather than 8 when parsing
  1282.     number in numeric character reference.
  1283.  
  1284. Mon Apr 13 23:21:45 1992  James Clark  (jjc at jclark)
  1285.  
  1286.     * modsgml1.c (sgmltab): Add two new states to handle the case
  1287.     where the pending RE has been followed by an RE that was ignored.
  1288.  
  1289. Wed Apr  8 10:59:48 1992  James Clark  (jjc at jclark)
  1290.  
  1291.     * modsgml1.c (sgmltab): In state NR1, hold on to REF_ as in state
  1292.     DA1.
  1293.  
  1294.     * Makefile (install, install.man): New targets.
  1295.  
  1296.     * modsgml1.c (sgmlact): When popping the pcbsgml stack, change the
  1297.     state of the new top of stack pcb as if there had been a
  1298.     processing instruction or markup declaration.
  1299.  
  1300. Tue Apr  7 13:55:17 1992  James Clark  (jjc at jclark)
  1301.  
  1302.     * configure: New file.
  1303.     * Makefile: Add configure to distribution.
  1304.     (config.h): Build using configure.
  1305.     * unix.cfg: Some minor cleanup to work better with configure.
  1306.     Move things that can't be auto-configured to top.
  1307.  
  1308. Sun Apr  5 20:53:42 1992  James Clark  (jjc at jclark)
  1309.  
  1310.     * main.c (main): Call MAIN_HOOK if it's defined.
  1311.  
  1312.     * Makefile: Add thinkc.cfg to MISC.
  1313.  
  1314.     * getopt.c: Include getopt.h.
  1315.  
  1316.     * sgmlio.c (nextstr): Make declaration a prototype.
  1317.  
  1318. Wed Apr  1 09:30:33 1992  James Clark  (jjc at jclark)
  1319.  
  1320.     * main.c (usage): Mention -p.
  1321.  
  1322. Sun Mar 29 15:47:44 1992  James Clark  (jjc at jclark)
  1323.  
  1324.     * sgmldecl.c (sgmldecl): Use separate buffer to parse closing >.
  1325.     Return non-zero if there was some appinfo.
  1326.     (sdappinfo): Don't save appinfo.  Delete appinfo array.
  1327.     (sgmlappinfo): Deleted.
  1328.     (sgmlwrsd): Always write out APPINFO NONE.
  1329.     * sgmlmain.g (sgmlappinfo): Delete declaration.
  1330.     * sgmlfnsm.h (sgmldecl): Change return type to int.
  1331.     * action.h (APP_): New action.
  1332.     * modpars1.c (parsepro): Return APP_ after parsing SGML
  1333.     declaration if there was some appinfo.
  1334.     * sgmlmain.h (SGMLAPP): New event.
  1335.     (ADATA, ADATALEN): New macros.
  1336.     * modsgml1.c (sgmlnext): Return SGMLAPP for APP_.
  1337.     * lineout.h: Define APPINFO_CODE.
  1338.     * lineout.c (process_document): Handle SGMLAPP.
  1339.     (output_appinfo): New function.
  1340.     * sgmls.c (sgmls_next): Handle APPINFO_CODE.
  1341.     * sgmls.h (sgmls_event_type): Add SGMLS_EVENT_APPINFO.
  1342.     (sgmls_event): Add appinfo field to union.
  1343.     * sgmlsasp.c (do_file): Ignore SGMLS_APPINFO.
  1344.  
  1345. Fri Mar 27 11:18:06 1992  James Clark  (jjc at jclark)
  1346.  
  1347.     * Version 0.7 released.
  1348.  
  1349.     * modsgml2.c (scbset): Check that es >= 0.
  1350.  
  1351.     * sgmldecl.c (sgmlappinfo): New function.
  1352.     * sgmlmain.h: Declare it.
  1353.  
  1354.     * lineout.c (output_internal_entity): Distinguish CDATA and SDATA
  1355.     entities with a keyword rather than with \|.
  1356.     * sgmls.c (parse_internal_entity): Grok this.
  1357.     Rename E_ENTITYTYPE to E_BADEXTERNAL.
  1358.     Change error message for E_BADINTERNAL.
  1359.     (unescape): Split off part into
  1360.     (unescape1): New function.
  1361.     * sgmls.pl: Grok new I format.
  1362.  
  1363.     * sgmlio.c (nifopen): New function.
  1364.     (FOPENR): Define as nifopen if HAVE_O_NOINHERIT is defined.
  1365.     * dos.cfg: Define HAVE_NO_INHERIT.
  1366.  
  1367.     * stklen.c: New file.
  1368.     * Makefile.bcc: Compile stklen.c.
  1369.     * Makefile: Include stklen.c in distribution.
  1370.  
  1371.     * main.c (main): New -p option.
  1372.  
  1373.     * modpars1.c (parsepro): Give an error for R/CDATA marked section
  1374.     in the DTD subset.
  1375.     * msg.h: Use message 135 for this.
  1376.  
  1377.     * modpars1.c (common): Rename to commbufs. Change callers.
  1378.     * sgmlfnsm.h: Change declaration.
  1379.  
  1380.     * sgmlsasp.c (main): New -n option.
  1381.     (fold_general_names): New variable.
  1382.     * sgmlsasp.h (fold_general_names): Declare it.
  1383.     * replace.c (scan_name): Fold name to upper case only if
  1384.     fold_general_names is non-zero.
  1385.  
  1386. Thu Mar 26 12:39:24 1992  James Clark  (jjc at jclark)
  1387.  
  1388.     * modpars1.c (setdtype): Don't give message about the document
  1389.     type element's not being declared if we already gave an error
  1390.     message about there not being a doctype declaration.
  1391.     (parsepro): In onlypro mode, call setdtype.
  1392.  
  1393. Wed Mar 25 11:13:18 1992  James Clark  (jjc at jclark)
  1394.  
  1395.     * sgmldecl.c (sdquantity): Eliminate unnecessary inner
  1396.     redeclaration of i.
  1397.  
  1398.     * sgmldecl.c (sdnaming): Eliminate unnecessary assignment to i.
  1399.  
  1400.     * sgmls.c (parse_data): Eliminate unnecessary assignment to start.
  1401.  
  1402.     * main.c (make_argv): Eliminate unnecessary increment of i.
  1403.  
  1404.     * entgen.c (entgen): Eliminate unnecessary assignment to buf.
  1405.  
  1406.     * modpars2.c (antvget): Make advn local to block in which it is
  1407.     used. Eliminate unnecessary assignment.
  1408.  
  1409.     * modpars2.c (alperm): Eliminate unnecessary assignment to alperm.
  1410.  
  1411.     * modpars1.c (parsecon): Eliminate unnecessary assignment to pcb.
  1412.  
  1413.     * context.c (newtoken): Make Psave and rc local to block in which
  1414.     it is used. Eliminate unnecessary assignments.
  1415.  
  1416.     * Cast some arguments of xrealloc, memcpy, MEMZERO to UNIV.
  1417.  
  1418.     * tools.c (VP): New macro.
  1419.     * sgmlsasp.h (VP): New macro.
  1420.     * appl.h (appl_error):
  1421.     * main.c (fatal):
  1422.     * replace.c (parse_error):
  1423.     * sgmlmsg.c (xfprintf): Use VP for prototypes of varargs functions.
  1424.  
  1425. Mon Mar 23 13:57:55 1992  James Clark  (jjc at jclark)
  1426.  
  1427.     * sgmlxtrn.c (savedpos): New variable.
  1428.     * sgmlxtrn.h: Declare it.
  1429.     * modpars1.c (endprolog): Separate allocation of struct mpos's
  1430.     into...
  1431.     (newmpos): New function.
  1432.     (endprolog): Allocate savedpos.
  1433.     * context.c (context): If there's an applicable inclusion, save
  1434.     the current position in savedpos.  Don't return RCPEX unless the
  1435.     element is valid in this model only as an inclusion; in this case,
  1436.     restore the saved position.
  1437.  
  1438. Sun Mar 22 10:34:54 1992  James Clark  (jjc at jclark)
  1439.  
  1440.     * entity.h (struct switches): Add onlypro member.
  1441.     * main.c (swinit): Initialize onlypro.
  1442.     * modpars1.c (parsepro): If onlypro switch is set, don't give an
  1443.     error for EOD after DTD subset is finished, and also return EOD at
  1444.     end of prolog.
  1445.  
  1446. Sat Mar 21 19:27:59 1992  James Clark  (jjc at jclark)
  1447.  
  1448.     * etype.h (TXOPT, TXREP, TXOREP): New ttype flags to support dump.c.
  1449.     * modpars2.c (parsemod, parsegcm): Set TX* flags when occurrence
  1450.     indicator is specified explicitly.
  1451.  
  1452.     * modmd2.c (mdentity): Build the entity text for ESS and ESE
  1453.     types. Handle ESS and ESE like other internal entity types.
  1454.     (tagtext, entfix): Deleted.
  1455.     * sgmlxtrn.c (tagtext, entfix): Delete declarations.
  1456.     * modpars1.c (shortref): Don't handle ENTEGI, ENTSGI. Delete
  1457.     stagrc variable.
  1458.     * modpars2.c (parse): Likewise. Delete stagrc variable.
  1459.     * modsgml2.c (entopen): Handle ESS and ESE normally.
  1460.     * traceset.c (traceecb): Likewise.
  1461.     * source.h (ENTEGI, ENTSGI): Deleted.
  1462.     (ENTDATA, ENTPI): Renumber.
  1463.  
  1464. Mon Feb 24 16:12:59 1992  James Clark  (jjc at jclark)
  1465.  
  1466.     * context.c (testend): Insert brackets around && within || to keep
  1467.     gcc 2 quiet.
  1468.  
  1469.     * traceset.c: Add some casts to keep gcc 2's -Wformat happy.
  1470.  
  1471. Fri Feb 21 12:21:05 1992  James Clark  (jjc at jclark)
  1472.  
  1473.     * lineout.c (process_subdoc): Forget the current filename after
  1474.     processing subdoc.
  1475.  
  1476.     * main.c (build_subargv): Pass on -l.
  1477.  
  1478. Thu Feb 20 11:48:06 1992  James Clark  (jjc at jclark)
  1479.  
  1480.     * action.h (MSP_): New action.
  1481.     * arcpcbrf.c (md7a): Change action for MSO from LAF_ to MSP_.
  1482.     * modpars1.c (parsepro): Handle MSP_.  For MSS_ return DCE_.
  1483.     * modsgml1.c (sgmlnext): Change handling of MSS_ in the prolog.
  1484.  
  1485.     * modserv.c (hout): Use a struct hash **.  Had bug when removing
  1486.     first element in chain.
  1487.  
  1488. Tue Feb 18 11:11:35 1992  James Clark  (jjc at jclark)
  1489.  
  1490.     * sgmlxtrn.c: Don't declare array sizes unnecessarily. Insert
  1491.     newlines in license.
  1492.  
  1493.     * msg.h: Give errors about unsupported features a `U' type code.
  1494.     * sgmlsmsg.c: Use a different header for `U' type messages.
  1495.  
  1496. Fri Feb 14 11:41:51 1992  James Clark  (jjc at jclark)
  1497.  
  1498.     * sgmls.c (parse_data): Don't use strchr.
  1499.  
  1500.     * replace.c (hash): Change hashing function. Do modulus in hash().
  1501.     Make return type int.  Change callers.
  1502.  
  1503.     * sgmls.h, sgmls.c, sgmlsasp.c: Redo error handling so as not to use
  1504.     setjmp.
  1505.     * std.h: Don't include <setjmp.h>.
  1506.  
  1507.     * source.h (ENTHASH):
  1508.     * etype.h (ETDHASH):
  1509.     * adl.h (IDHASH): Bump up values.
  1510.  
  1511.     * modserv.c (hash): Use better hashing function.
  1512.  
  1513.     * modserv.c (idget): Deleted.
  1514.     * sgmlfnsm.h: Delete declaration.
  1515.  
  1516.     * momd11.c (mdelem, mdadl):
  1517.     * modmd2.c (mdsrmuse): Don't allocate nmgrp
  1518.     * modmd1.c (mdnadl, mdelem): Don't allocate nnmgrp.
  1519.     * modpars2.c (parsemod): Don't allocate gbuf.
  1520.     * modmd2.c (mdelem): Don't allocate nmbuf
  1521.     * modmd2.c (mdextid): Don't allocate sysibuf, pubibuf.
  1522.     * sgmldecl.c (bufsalloc, bufsrealloc): Handle only scbs and tbuf.
  1523.     * modpars1.c (parsepro): Call startdtd() before mddtds.
  1524.     (startdtd): New function. Allocate nmgrp, nnmgrp, gbuf, nmbuf,
  1525.     pubibuf, sysibuf.
  1526.     (common): New function.  Allocate al, lbuf, entbuf.
  1527.     (endprolog): Free buffers allocated in startdtd().  Call common()
  1528.     if it hasn't already been called.
  1529.  
  1530. Thu Feb 13 10:42:26 1992  James Clark  (jjc at jclark)
  1531.  
  1532.     * modsgml2.c (entref): Handle the case where the entity has been
  1533.     used in a shortref mapping declaration, but has not been defined.
  1534.  
  1535.     * Redo tracing code.
  1536.  
  1537.     * traceset.c (traceecb): Return if p is NULL.
  1538.     * modsgml2.c (entfind): Call traceecb even if p is NULL.
  1539.  
  1540.     * sgmlincl.h: Always include trace.h.
  1541.  
  1542.     * traceset.c (estype1, estype2): Make them local static variables
  1543.     in traceecb.
  1544.     * trace.h (estype1, estype2): Declarations deleted.
  1545.  
  1546.     * sgmlxtrn.[ch] (pifldlen): Deleted.
  1547.     * modmd2.c (pubfield): Additional argument that gets length of
  1548.     field.
  1549.     (parsefpi): Change callers.  Don't use pifldlen.
  1550.  
  1551.     * modpars2.c (antvget): Pass pointer which receives value.
  1552.     (parseatt): Pass pointer to antvget() to receive value.
  1553.     * sgmlxtrn.[ch]: Delete antvptr.
  1554.  
  1555.     * sgmlxtrn.[ch] (pvalptr): Deleted.
  1556.     * modpars2.c (parseval): Don't set pvalptr.
  1557.     (attval):
  1558.     * modmd1.c (mdattdef):
  1559.     * modmd2.c (tagtext): Use last argument passed to parseval
  1560.     instead of pvalptr.
  1561.  
  1562. Tue Feb 11 13:23:03 1992  James Clark  (jjc at jclark)
  1563.  
  1564.     * modpars1.c (endprolog): tag::tpos needs to be GRPLVL+2 long.
  1565.  
  1566.     * entity.h (MAXNAMELEN): Move into sgmldecl.c.
  1567.  
  1568.     * modmd1.c (mdelem): Use lbuf for rank suffix. Use tbuf for
  1569.     comgibuf.
  1570.  
  1571.     * modmd2.c (mdsrmuse): Store short reference name in lbuf.
  1572.     Simplify accordingly.
  1573.  
  1574.     * modmd2.c (mdentity): Use external nmbuf instead of ename.
  1575.     Allocate nmbuf if necessary.  Only needs to be NAMELEN+2 bytes
  1576.     long.
  1577.     * sgmlxtrn.[ch]: Declare nmbuf.
  1578.     * modpars1.c (endprolog): Free nmbuf.
  1579.  
  1580.     * modmd2.c (mdentity): Get rid of pname.
  1581.  
  1582.     * modsgml2.c (usedef):
  1583.     * modmd2.c (mdentity, mdnot):
  1584.     * modmd1.c (mddtds):
  1585.     * entgen.c (nentgen, field): Don't include length byte in fpinm.
  1586.     * modmd2.c (mdextid):
  1587.     * modmd2.c (field): Don't include length byte in fpinedcn.
  1588.  
  1589.     * ambig.c (ambig, ambigfree): Don't allocate memory all in one chunk.
  1590.  
  1591.     * modmd2.c (mdsrmuse): Point subdcl to somewhere that won't get
  1592.     overwritten.
  1593.  
  1594.     * sgmldecl.c (newkey): Make size of names REFNAMELEN+1,
  1595.     (sdnames): Don't allow name to be specified as parameter literal.
  1596.     Install names at end.
  1597.     (sdxsyntax): Don't install names.
  1598.     (sgmlwrsd): Output new names as names not literals.
  1599.     * synxtrn.h (key):
  1600.     * arcsynrf.c (key): Make size of names REFNAMELEN+1.
  1601.     * sgmldecl.c (REFNAMELEN): Move to entity.h.
  1602.  
  1603.     * sgmldecl.c (bufsrealloc): Handle the possibility that NAMELEN >=
  1604.     LITLEN.
  1605.  
  1606.     * namelen.h: Deleted.
  1607.     * entity.h: Define MAXNAMELEN explicitly.  Don't include namelen.h.
  1608.  
  1609.     * sgmls.c, sgmls.h, sgmlsasp.c, sgmlsasp.h, replace.c, replace.h:
  1610.     Avoid depending on any upper limit to NAMELEN.
  1611.  
  1612. Mon Feb 10 11:07:24 1992  James Clark  (jjc at jclark)
  1613.  
  1614.     * lineout.c (define_entity): Have single argument including length
  1615.     and EOS.
  1616.     (handle_single_token): Change accordingly.
  1617.     (handle_token_list): Temporarily make the token look like a name.
  1618.  
  1619.     * sgmlxtrn.[ch] (entbuf): Change to a pointer.
  1620.     * sgmldecl.c (bufsalloc, bufsrealloc): Allocate entbuf.
  1621.  
  1622.     * sgmlxtrn.[ch] (dtype): Change to a pointer.
  1623.     * modmd1.c (mddtds): Dynamically allocate dtype.
  1624.     * modpars1.c (setdtype): If dtype is NULL, point it to indefetd.
  1625.  
  1626.     * modmd1.c (mdelem): Use nnmgrp for holding exception name group
  1627.     lists.  Allocate nnmgrp if necessary.
  1628.     * modpars2.c (parsegrp): Additional tbuf argument. Use this as
  1629.     name buffer rather than local array.
  1630.     * modparse2.c (parsengrp): Similarily.
  1631.     * Change callers.
  1632.  
  1633.     * modmd2.c (mdsrmdef): Avoid use of sname buffer. Free srhptr when
  1634.     cleaning up.
  1635.  
  1636.     * modpars2.c (parsegcm): Use tbuf instead of local array.
  1637.  
  1638.     * modserv.c (savenm): New function.
  1639.     * adl.h (struct ad): Make adname a pointer.
  1640.     * modmd1.c (mdadl, mdnadl, anmtgrp): Don't parse names directly
  1641.     into adname.  Parse into a buffer and then save with savenm.
  1642.  
  1643.     * entity.h (struct hash, struct dcncb):
  1644.     * adl.h (struct id):
  1645.     * etype.h (struct etd):
  1646.     * source.h (struct entity, struct srh):
  1647.     * modserv.c (hin):
  1648.  
  1649.     * sgmlaux.h (struct error): Make subdcl a pointer.
  1650.     * modsgml2.c (mderr, errorinit): Corresponding changes.
  1651.     * sgmlmsg.c (printit): Pass empty string if e->subdcl is NULL.
  1652.  
  1653.     * sgmlmain.h (struct rcbtag): Make curgi a pointer.
  1654.     * modsgml1.c (sgmlnext): Corresponding changes.
  1655.  
  1656.         * entity.h (struct fpi): Make fpinm a pointer. Delete fpinml.
  1657.     * modmd2.c (mdextid): Don't copy ename.
  1658.     * modsgml2.c (usedef): Likewise.
  1659.     * entgen.c (field): Don't use fpinml.
  1660.  
  1661.     * entity.h (struct fpi): Make fpinedcn a pointer.
  1662.     * modmd2.c (mdextid):
  1663.     * entgen.c (field): Corresponding changes.
  1664.  
  1665.     * lineout.c (process_document): Fix so that it compiles if
  1666.     !SUPPORT_SUBDOC.
  1667.  
  1668.     * sgmls.c: Don't include setjmp.h.
  1669.  
  1670.     * sgmlmsg.c: Avoid use of printf("%*s").
  1671.  
  1672. Sun Feb  9 13:18:10 1992  James Clark  (jjc at jclark)
  1673.  
  1674.     * ambig.c (struct contoken): Change type of size to UNCH.
  1675.  
  1676.     * sgmldecl.c (sdquantity): If specified quantity limit is too big
  1677.     use biggest allowed.
  1678.  
  1679.     * modmd1.c (mdadl, mdelem, mdsrmuse): Make nmgrp external
  1680.     variable.  Allocate if necessary.
  1681.     (mdnadl): Rename nmgrp to nnmgrp. Make it an external variable.
  1682.     Allocate if necessary.
  1683.     * sgmlxtrn.c (nmgrp, nnmgrp): New variables.
  1684.     * entity.h (MAXGRPCNT): Move into sgmldecl.c.
  1685.     * modpars1.c (endprolog): Free nmgrp, nnmgrp, gbuf.
  1686.     * sgmldecl.h (GRPCNT): Get it from sd.
  1687.     * context.h: New file.
  1688.     * traceset.c, context.c: Move common macros into context.h.
  1689.     * Makefile: Include context.h in HDRS.
  1690.     * etype.h (struct mpos): Make h a unsigned long *.
  1691.     (HITCLEAR): New macro.
  1692.     * context.c (ANYHIT, HITSET, HITON, HITOFF): New macros.
  1693.     Fix operations on H to use these macros.
  1694.     (offbit, allhit): Change long to unsigned long *.
  1695.     (anyhit): New function.
  1696.     * traceset.c (tracehits): New function.
  1697.     (tracegi, traceend): Use tracehits.
  1698.     * modpars1.c (stack): Use HITCLEAR to clear hit bits.
  1699.     (endprolog): Allocate space for hit bits. Set grplongs.
  1700.     * sgmlxtrn.c (grplongs): New variable.
  1701.  
  1702.     * modpars1.c (endprolog): New function.
  1703.     (parsepro): Call endprolog.
  1704.     * ambig.c (ambigfree): New function.
  1705.     * modpars1.c (stack): Move allocation of tags and scbsgml into
  1706.     endprolog.
  1707.  
  1708.     * ambig.c: Dynamically allocate struct contoken's.
  1709.     (struct contoken): Use pointers rather than arrays for first and
  1710.     last.
  1711.     (newcontoken, freecontoken): New functions.
  1712.     (andgroup): Dynamically allocate nullablefirst.
  1713.     (MAXSTATES): Use GRPGTCNT rather than MAXGRPGTCNT.
  1714.     * entity.h (MAXGRPGTCNT): Move to sgmldecl.c.
  1715.     * ambig.c (listmerge): Use mergebuf.
  1716.     (follow): Make it an UNCH **.
  1717.     (ambig): Allocate follow and mergebuf if necessary.
  1718.     * sgmlxtrn.[ch] (gbuf): Make it a pointer.
  1719.     * modpars2.c (parsemod): Allocate gbuf if necessary.
  1720.  
  1721.     * etype.h (struct tag): Make tpos a pointer.
  1722.     * modpars1.c (stack): Allocate tpos members.
  1723.     * entity.h (MAXGRPLVL): Move to sgmldecl.c.  Increase to MAXGRPGTCNT.
  1724.  
  1725.     * context.c (TOKENHIT): Don't use intermediate variable.
  1726.  
  1727. Fri Feb  7 09:14:02 1992  James Clark  (jjc at jclark)
  1728.  
  1729.     * Version 0.6 released.
  1730.  
  1731. Thu Feb  6 10:16:57 1992  James Clark  (jjc at jclark)
  1732.  
  1733.     * Add casts so that it compiles with `typedef char *UNIV;'.
  1734.  
  1735.     * action.h (GTR_): New action.
  1736.     * modpars1.c (parsecon): Handle GTR_.
  1737.     * arcpcbrf.c (sp0a): Change action for EOB from GET_ to GTR_.
  1738.  
  1739.     * modpars1.c (parsepro): Increment sgmlsw in MDC_ and PIS_ actions.
  1740.  
  1741.     * Remove unnecessary #undefs.
  1742.  
  1743.     * Use (UNCH *)0 instead of NULL.
  1744.  
  1745.     * Delete multiple pass support.
  1746.  
  1747.     * process.c: Rename to ...
  1748.     * unixproc.c: New file.
  1749.     * dosproc.c, portproc.c: New files.
  1750.  
  1751.     * sgmldecl.c (sdcolon): Don't give an error for 8879:1986.
  1752.  
  1753. Wed Feb  5 10:59:21 1992  James Clark  (jjc at jclark)
  1754.  
  1755.     * modserv.c (rmalloc): Change return type to UNIV.
  1756.  
  1757. Mon Feb  3 13:27:29 1992  James Clark  (jjc at jclark)
  1758.  
  1759.     * arcpcbrf.c (et32a): Change action for msc from DAS_ to LAS_.
  1760.  
  1761.     * lextoke.h:
  1762.     * modsgml1.c (sgmlset):
  1763.     * modpars2.c (s2valnm):
  1764.     * arcpcbrf.c (pcbval):  Remove DEL class.
  1765.     * modmd1.c (mdattdef):
  1766.     * modpars2.c (parseatt):
  1767.     * sgmlmsg.c (parms):
  1768.     * modsgml2.c (pcbtab):
  1769.     * synxtrn.h:
  1770.     * arcpcbrf.c (pcblitt): Use new pcb for tokenized attributes.
  1771.     * modpars2.c (parselit): Handle DEF_ differently for tokenized
  1772.     attributes.
  1773.     * modpars2.c (tokdata): New function.
  1774.     * sgmlfnsm.h: Declare it.
  1775.  
  1776. Sun Feb  2 17:49:47 1992  James Clark  (jjc at jclark)
  1777.  
  1778.     * lineout.c (print_string): Fix bug in DELNONCH handling.
  1779.  
  1780. Fri Jan 31 17:51:15 1992  James Clark  (jjc at jclark)
  1781.  
  1782.     * entgen.c (nsysidgen): Deleted.
  1783.     (nentgen): New function.
  1784.     (entgen): Use nentgen for notation identifiers.
  1785.     (genext, ext): Omit entries for notations.
  1786.     (field): Change calculation for accessing genext.
  1787.     * sgmls.h (struct sgmls_notation): Delete id field. Add sysid and
  1788.     pubid fields.
  1789.     * sgmls.c (parse_notation): Support new N syntax.
  1790.  
  1791. Thu Jan 30 13:28:33 1992  James Clark  (jjc at jclark)
  1792.  
  1793.     * entgen.c: Include sgmlaux.h after unistd.h.
  1794.  
  1795.     * modmd2.c (mdextid): Increase ds.attdef by sum of normalized
  1796.     lengths of explicitly specified data attributes.
  1797.  
  1798.     * entity.h (struct switches): New nopen member.
  1799.     * modsgml2.c (entopen): Use nopen to check that maximum allowed
  1800.     number of open subdocument entities is not exceeded.
  1801.     * main.c (main): Support -o.
  1802.     (swinit): Initialize nopen.
  1803.     (build_subargv): Pass on incremented -o option.
  1804.  
  1805. Wed Jan 29 12:53:39 1992  James Clark  (jjc at jclark)
  1806.  
  1807.     * unix.cfg, entgen.c (DEFAULT_PATH): Don't use %L.
  1808.  
  1809.     * replace.c (load_replacement_file): Split off allocation into...
  1810.     (make_replacement_table): New function.
  1811.     (define_replacement): Ignore duplicates.
  1812.     * replace.h: Change declarations.
  1813.     * sgmlsasp.c (main): Use this to support multiple replacement
  1814.     files.
  1815.  
  1816. Mon Jan 27 16:35:03 1992  James Clark  (jjc at jclark)
  1817.  
  1818.     * context.c (newtoken): Fix computation of nextand.
  1819.  
  1820. Sun Jan 26 23:11:23 1992  James Clark  (jjc at jclark)
  1821.  
  1822.     * main.c: Cleanup temporary files on exit or signal.
  1823.  
  1824.     * main.c: Pass -z option to subdoc processes. Read capacity usage
  1825.     after process completes. Write capacity usage to file if specified
  1826.     by -z option.
  1827.     * modsgml1.c (sgmlsubcap): New function.
  1828.     (sgmlend): Take account of subdocument capacity usage.
  1829.  
  1830.     * sgmldecl.c: Remove support for passing SGML declarations through
  1831.     the environment.
  1832.     * main.c, lineout.c: Remove support for outputting environment.
  1833.     * sgmls.c, sgmls.h: Delete support for V command.
  1834.  
  1835.     * main.c: Write SGML declaration to temporary file. Pass this as
  1836.     first file to subdoc processes.
  1837.     * sgmldecl.c (sgmlwrsd): New function.
  1838.  
  1839.     * Rename RESOLVE_SUBDOC to SUPPORT_SUBDOC.
  1840.     * lineout.c: Always resolve subdoc references.
  1841.     * sgmldecl.c: Initialize SUBDOC to NO if !SUBDOC_SUPPORT.
  1842.     * main.c, appl.h (subdocsw): Deleted.
  1843.  
  1844.     * lineout.c: Resolve subdocuments even if suppsw.
  1845.  
  1846.     * momd1.c (anmtgrp): Make adn a UNS *.
  1847.     * sgmlfns.h: Change declaration.
  1848.     * adl.h (struct ad): Make adnum a UNS.
  1849.     * adl.h (struct ad): Make adlen a UNS.
  1850.  
  1851.     * entity.h (struct fpi): Use UNS rather than UNCH for lengths.
  1852.  
  1853.     * Use MAXNAMELEN rather than NAMELEN for size of arrays.
  1854.     * namelen.h: New file.
  1855.     * Use MAXGRPCNT rather than GRPCNT for size of arrays.
  1856.     * etype.h (struct tag): Use MAXGRPLVL instead of GRPLVL for size
  1857.     of tpos array.
  1858.     * entity.h: Remove definitions of ENTCASE, NAMECASE, and most
  1859.     quantity limits.
  1860.     * sgmldecl.h: Redefine thse to pick up values specified in SGML
  1861.     declaration.
  1862.     * entity.h (MAXGRPCNT, MAXGRPLVL, MAXGRPGTCNT, MAXNAMELEN): New
  1863.     definitions.
  1864.     * modpars1.c (parsecon):
  1865.     * modpars2.c (parseatt): Don't pass tbuflim.
  1866.     * sgmldecl.c: Implement parsing of non-public syntax sections.
  1867.  
  1868.     * modserv.c (ntoa): Use sprintf.
  1869.     * sgmlxtrn.[ch] (ntoabuf): Deleted.
  1870.  
  1871.     * sgmldecl.c: Remove extended reference syntax.
  1872.  
  1873. Sun Jan 19 13:38:24 1992  James Clark  (jjc at jclark)
  1874.  
  1875.         * modpars1.c (parsepro): Don't take tbuf as an argument.
  1876.         Change callers and declaration.
  1877.     * sgmldecl.c (sgmldecl): Don't take tbuf as an argument. Change
  1878.     callers and declaration.
  1879.  
  1880.     * modmd2.c (mdextid):
  1881.     * entity.h (struct fpi): Use pointers for fpisysis and fpipubis.
  1882.     No need for fpipubsw and fpisyssw.
  1883.     * entgen.c (field, entgen): Corresponding changes.
  1884.     * sgmlxtrn.h (sysibuf, pubibuf): Declare.
  1885.     * sgmlxtrn.[ch] (sysibuf, pubibuf): Define.
  1886.     * modmd2.c (mdexitid): Initialize these if necessary.
  1887.  
  1888.     * entgen.c (field, entgen, mindatcpy): Avoid using static buffer
  1889.         in field.
  1890.  
  1891.         * sgmlmsg.c (elttrace): Avoid using buffer.  Change HDRELT string
  1892.     accordingly.
  1893.  
  1894.     * sgmlxtrn.c: Change big arrays into pointers.
  1895.     * sgmlxtrn.h: Change declarations accordingly.
  1896.     * sgmldecl.c (sdinit, bufsalloc, bufsrealloc): New functions.
  1897.     * modpars1.c (stack): Allocate scbsgml and tags if necessary.
  1898.  
  1899.     * sgmlaux.h: Include sgmldecl.h.
  1900.     * sgmlincl.h: Don't include sgmldecl.h.
  1901.     * entgen.c (field, entgen): Use ENTCASE and NAMECASE to determine
  1902.     folding of names.
  1903.  
  1904. Fri Jan 17 18:30:07 1992  James Clark  (jjc at jclark)
  1905.  
  1906.     * msg.h: Avoid dependencies on reference quantity set.
  1907.  
  1908. Thu Jan 16 10:12:17 1992  James Clark  (jjc at jclark)
  1909.  
  1910.     * Rename strlsave to savestr.
  1911.  
  1912.     * modpars2.c (parselit, parseval, adlval, vallen, attval, parseatt):
  1913.     * modserv.c (replace, strlsave, sandwich):
  1914.     * sgmldecl.h (struct sgmldecl):
  1915.     * sgmldecl.c (sdversion, sdappinfo, sdfixcolon, sdpubcapacity,
  1916.     sdpubsyntax, sdcharset):
  1917.     * lineout.c (define_entity, handle_token_list,
  1918.     handle_single_token):
  1919.     * modsgml1.c (sgmlnext):
  1920.     * modsgml2.c (entopen):
  1921.     * modmd2.c (mdsrmdef, parsefpi, tagtext, entfix, mdextid):
  1922.     * entity.h (struct fpi):
  1923.     * entgen.c (entgen, field):
  1924.     * adl.h (struct ad):
  1925.     * modserv.c (dellen):
  1926.     * modmd1.c (mdattdef): Change representation of literals not to
  1927.     have initial length byte.  Change representation of token list or
  1928.     CDATA attributes (but not single token attributes) not to have
  1929.     initial length byte.
  1930.  
  1931. Mon Jan 13 10:38:18 1992  James Clark  (jjc at jclark)
  1932.  
  1933.     * sgmlxtrn.h (gbuf): Make size GRPGTCNT+3.
  1934.     * modpars2.c (parsemod): Don't count outermost model in
  1935.     gbuf[0].tu.tnum.
  1936.     * modmd1.c (mdelem): Change calculation of size of cmod and of
  1937.     modcnt accordingly.
  1938.     * ambig.c (MAXSTATES): Change to GRPGTCNT+2.
  1939.  
  1940.     * Version 0.5 released.
  1941.  
  1942.     * modmd1.c (mdelem): Outermost group doesn't count towards modcnt.
  1943.  
  1944. Sun Jan  5 10:51:05 1992  James Clark  (jjc at jclark)
  1945.  
  1946.     * ambig.c: New file.
  1947.     * etype.h (struct etd): Add mark field.
  1948.     * modpars2.c (parsemod): Possibly call ambig().
  1949.     * entity.h (struct switches): Add swambig member.
  1950.     * main.c (main, usage, build_subargv): Handle -a option.
  1951.     (swinit): Initialize swambig.
  1952.  
  1953. Wed Dec 11 14:01:06 1991  James Clark  (jjc at jclark)
  1954.  
  1955.     * modmd1.c (mdadl): Don't call etdadl() if alperm is 0.
  1956.  
  1957.     * context.c, modpars1.c: Move definitions of RC* into ...
  1958.     * etype.h
  1959.  
  1960.     * context.c (newtoken): Make sure Tstart is unhit.
  1961.  
  1962. Thu Dec  5 10:30:16 1991  James Clark  (jjc at jclark)
  1963.  
  1964.     * process.c (run_process): Use vfork() if available. Call buildenv
  1965.     before forking and then cleanup in parent.  Use _exit() if execvp
  1966.     fails.
  1967.     * unix.cfg: Add HAVE_VFORK and HAVE_VFORK_H.
  1968.  
  1969.     * std.h: Delete definition of isascii.
  1970.  
  1971. Tue Nov 19 08:42:41 1991  James Clark  (jjc at jclark)
  1972.  
  1973.     * lineout.c (print_data): Don't split up data.
  1974.     (data_count): Rename to have_data.
  1975.  
  1976.     * context.c (context): Handle the case where there's a hit in a
  1977.     plus group, but the current element has ended.
  1978.  
  1979. Thu Nov  7 09:38:14 1991  James Clark  (jjc at jclark)
  1980.  
  1981.     * source.h, sgmlaux.h, sgmlmain.h, modsgml1.c, lineout.c: Use
  1982.     unsigned long to hold line number.
  1983.  
  1984. Wed Nov  6 11:28:50 1991  James Clark  (jjc at jclark)
  1985.  
  1986.     * std.h: Add declaration of strerror.
  1987.     * sgmlmsg.c: Delete declaration of strerror.
  1988.  
  1989.     * msg.h: Improve message 134. Delete messages 135 and 137.
  1990.  
  1991. Tue Nov  5 10:13:54 1991  James Clark  (jjc at jclark)
  1992.  
  1993.     * arcpcbrf.c (et0a): Change action for sep (TAB) from NOP_ to DAS_.
  1994.  
  1995. Mon Nov  4 15:28:40 1991  James Clark  (jjc at jclark)
  1996.  
  1997.     * sgmls.h: Rename to lineout.h.
  1998.  
  1999. Sat Nov  2 09:06:09 1991  James Clark  (jjc at jclark)
  2000.  
  2001.     * msg.h: In message 133, s/comment/markup declaration/.
  2002.  
  2003.     * arcpcbrf.c (et7a): Use EE_ rather than EOF_ on EE.
  2004.     * modpars1.c (parsepro): Give an error message on EOD_.
  2005.     * msg.h: Use message 127 for this.
  2006.  
  2007.     * modpars2.c (charrefa): Decrement RCNT if the character is RS.
  2008.  
  2009.     * modpars1.c (parsepro): Give an error if the DTE_ is not at level
  2010.     0, and do not terminate the DTD.
  2011.     * msg.h: Use message 143 for this.
  2012.  
  2013.     * msg.h: Delete message 143.
  2014.  
  2015. Fri Nov  1 08:58:26 1991  James Clark  (jjc at jclark)
  2016.  
  2017.     * modmd2.c (mdsruse): Use message number 142 when an associated
  2018.     element type is specified and the declaration is not in the DTD.
  2019.     Use message 28 if an associated element type is not specified and
  2020.     the declaration is in the DTD. Use message 126 if something other
  2021.     than an associated element or MDC is specified and the declaration
  2022.     is not in the DTD.
  2023.  
  2024.     * msg.h: Delete message 138. This error is caught in parsefpi().
  2025.  
  2026.     * msg.h: Delete message 140.  Not used anywhere.
  2027.  
  2028.     * modpars2.c (parsegcm): When GRPGTCNT is exceeded use message
  2029.     number 114.
  2030.  
  2031.     * msg.h: Don't abbreviate attribute as att in messages 72 and 151.
  2032.  
  2033.     * msg.h: s/not declared minimizable/not minimizable/
  2034.  
  2035.     * modmd2.c (mdsrmdef): Give an error if concrete syntax does not
  2036.     support short references.
  2037.     * msg.h: New message 198.
  2038.  
  2039.     * modpars2.c (adlval): If SHORTTAG is NO and OMITTAG is NO, do not
  2040.     allow an unimpliable attribute value specification to be omitted.
  2041.     * msg.h: New message 197.
  2042.  
  2043.     * msg.h: Improve message number 84.
  2044.  
  2045.     * modpars2.c (parseatt): If SHORTTAG is NO, do not allow an
  2046.     undelimited attribute value (ie an attribute value specification
  2047.     that is not an attribute value literal).
  2048.     * msg.h: New message 196.
  2049.  
  2050.     * modpars2.c (parseatt): If SHORTTAG is NO, do not allow
  2051.     attribute name to be omitted.
  2052.     * msg.h: New message 195.
  2053.  
  2054.     * modpars2.c (parseatt): No need to have prototype definition.
  2055.  
  2056.     * modpars1.c (parsetag): If SHORTTAG is NO, do not allow
  2057.     unclosed tag or null start tag.
  2058.     * msg.h: New messages 193 and 194.
  2059.  
  2060. Thu Oct 31 10:51:54 1991  James Clark  (jjc at jclark)
  2061.  
  2062.     * sgmldecl.c (noemptytag): New function.
  2063.     (sdimply, sdfeatures): Call noemptytag() if the SHORTTAG feature
  2064.     is NO.
  2065.  
  2066.     * sgmldecl.c (sdimply): Store value of SHORTTAG environment
  2067.     variable in sd.shorttag.
  2068.  
  2069.     * modmd1.c (mdattdef): Declared value of data attribute cannot be
  2070.     ID.
  2071.     * msg.h: Use message 144 for this.
  2072.  
  2073.     * msg.h: Delete message 144.
  2074.  
  2075.     * modpars1.c (parsecon): Handle DCE_ action by switching to
  2076.     pcbconm and repeating current character.  Move code that was
  2077.     target of goto.
  2078.  
  2079.     * Makefile: Add ChangeLog to the list of files to go in the
  2080.     distribution.
  2081.  
  2082.     * unix.cfg: Mention that defining HAVE_CAT requires use of
  2083.     /usr/xpg2bin/cc on a Sun.
  2084.  
  2085.     * modpars1.c (destack): Don't give an error when a required tag
  2086.     was not specified if conrefsw is set.
  2087.     (parsecon): Clear conrefsw only after calling destack().
  2088.  
  2089.     * sgmldecl.c (envcharset): Skip any white space before digits
  2090.     after doing sscanf.
  2091.  
  2092.     * main.c (subdocsw): Initialize to 1.
  2093.  
  2094.     * Started using ChangeLog at version 0.3.
  2095.